A flexible, general editor with mixins and plugins, which uses wxPython.

-- limodou [2004-08-15 21:24:42]

1. NewEdit Project

First was FlyEdit based on Tcl/Tk, and later became NewEdit based on wxPython.

You can check the Chinese Version of this wiki at newEdit中文版面.1

1.1. Description

NewEdit uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class at creating the instance. So NewEdit is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed.

Requirements:

  • Python 2.3+
  • wxPython 2.4.2.4+ Unicode Version

Some plugins may have additional requirements, please read the readme information before installing them.

1.2. Objective

Make a clean, powerful, flexible general editor, and even an application framework. And adding extensions should be very easy.

Tasks:

  • Mixin and Plugin framework
  • Unicode support
  • User defined plugin management
  • User custom window integration
  • User custom wizard function

1.3. Features

  • Cross platform

    • based on wxPython, so it can run anywhere that wxPython works, such as: Windows, Linux.
    • Unicode support.
  • Most features of wxStyledTextCtrl(Scintilla)

    • Syntax highlighting, support Python, c/c++, html, plain text
    • Folding
    • Brace Matching
    • ...
  • Extended selection

    • Extended word selection -- You can press Ctrl+MouseDoubleClick to select a word including '.'

    • Matched selection -- Select text in quoted chars like: (), [], {}, '', "".

      • For example: a string just like
                def func(self, 'This is a test'):
                              ^
             
        The '^' char represents caret position in above line. If you press Ctrl+E, you will select the whole text in (), i.e. "self, 'This is a test'". Something more in Selection Menu.
  • Other editing extension

    • Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line
      • which match the leading chars.
    • Quoting text -- Add some quoted chars before and after selected text, just as: "", '', (), [], {}, and

      • customized string, etc.
    • Text convertion and view -- python -> html, reStructured Text -> html, textile -> html, and you can output or view

      • the html text in message window, or html view window, or replace the selected text.
    • Utf-8 encoding auto detect
    • Changing document encoding
    • Auto backup
    • Last session support -- It'll save all the filenames as closed, and reopen the files as next started.
    • Smart judge the indent char -- It'll auto guess the indent char, and sets it.
    • Finding in files
    • Bookmark support
  • Python support

    • built-in python interactive window based on PyShell, support Unicode

    • Auto completion
    • Function syntax calltips
    • Run, run with argument, stop python source
    • Auto change current path
    • Python class browser
  • Code snippets

    • You can manage your code snippets with categories, and each category can have many items. Every item will represent a code snippet. You can insert an item just by double-clicking on it. It even supports importing and exporting.
  • Simple project support

    • Can create a special file _project, so every file and folder under the folder which has the _project can be considered as a whole project.
  • Extension mechanism

    • Script -- You can write easy script to manipulate the all resource of NewEdit, just like: text conversion, etc.

    • Plugin -- Customized function. More complex but more powerful. Can easily merge with NewEdit, and can be

      • managed via menu.
    • Shell command -- Add often used shell commands, and execute them.
  • Ftp support

    • You can edit remote files through ftp. You can add, rename, delete, upload, download file/directory.
  • Multilanguage support

    • Currently supports two languages: English and Chinese, which can be auto-detected.
  • Shipped plugins(must be configed as used them before)

    • Blog editor -- You can use NewEdit to edit your blog, currently tested with PyBlosxom.

    • Document links -- Python documentation and wxPython documentation.
    • Many plugins can be found at NewEdit wiki page.

  • Shipped scripts

    • Many scripts can be found at NewEdit wiki page.

  • Wizard (New)

    • You can make your own wizard template. The wizard can input user data, combine with template, and output the result. And wizard also support code framework created. This feature will help you improving coding efficiency.
  • Direcotry Browser(New)

    • Browse multiple directories, and you can really add, delete, rename directories and files. Double click will open the file in Editor window.
  • AutoComPlete(acp)(New)

    • Suport user autocomplete file, it can help to input code very helpful and functional. Just like EditPlus, but may be more powerful.

More features are in development...

1.4. Documents

  • Many documents ship with NewEdit source code, and you can also find other document on my blog.

1.5. Download

Project SVN http://cvs.woodpecker.org.cn/svn/woodpecker/newedit In Woodpacker.org -- new

Trac Page http://cvs.woodpecker.org.cn/trac/browser/newedit/

Suggest:

  • Always download the newest source code from svn.

Project CVS In Tigris -- old

NewEdit introduce powerpoint NewEdit.ppt

The newest version download:

1.6. Maillist

http://groups.google.com/group/NewEdit

1.7. ScreenShot

Visit: NewEditScreenShot

1.8. Contribute

Some people have written their own plugins, and have shared them. This is a collection, visit the links if you like:

1.8.1. Plugins

Plugin Name

Author

Version

Project Link

Description

pymusic.zip

天成(DreamingK)

1.2

MusicPlay

Use PySonic and fmod to play music, just like mp3, wma, wav, etc.

removerecfiles.zip

tianyu263(望月)

1.0

RemoveAllRecentFiles

NewEdit Menu(File) add Remove all recent files sub-menu.

dosprompt.zip

limodou

1.0

可以在NewEdit中嵌入一个Dos窗口(windows)

winpdb.zip

limodou

1.0

Invoke WinPdb to debug your program

blogedit.zip

limodou

1.0

Edit your blog in NewEdit

pycheck.zip

limodou

1.0

Check python source code syntax

pythondoc.zip

limodou

1.0

View Python document(windows)

pytts.zip

limodou

1.0

Using M$'s tts engine to read the document(windows)

pycheck.zip

limodou

1.0

Check python source code syntax

wizard.zip

limodou

1.0

Wizard function

djangoproj.zip

limodou

1.0

Django project plugin

1.8.2. Scripts

Script Name

Author

Version

Project Link

Description

html2moin.py

limodou

0.3

将Html文档转换为moin的格式

makedot.py

limodou

0.1

将dot转换为图片并显示

1.8.3. Wizards

Wizard Name

Author

Version

Project Link

Description

plugintmp.zip

limodou

0.1

Plugin生成模板,专用于NewEdit Plugin开发

s5.zip

limodou

0.1

生成S5幻灯片的模板

hellotest.zip

limodou

0.1

Hello测试

easyapp.zip

limodou

0.1

生成使用EasyGui的应用程序

django.zip

limodou

0.4

生成Django工程目录的Wizard,带有run.bat和run的脚本,可以直接设定环境变量

1.8.4. Snippets

Snippets Name

Author

Version

Project Link

Description

docbook.zip

Liang Osmond(梁如军)

0.2

docbook代码片段可以方便生成docbook代码

1.8.5. AutoComPlete

1.8.6. Packages

Package Name

Author

Version

Project Link

Description

django_pkg.zip

limodou

0.4

Django project suite

1.9. Tutorial

1.9.1. How to add a snippet

1.9.2. How to add a wizard

  • 如何增加easyapp Wizard包,并简单地演示了使用wizard来生成easyapp代码和演示了目录浏览功能的使用

1.9.3. How to develop with CheckList.py in NewEdit

1.9.4. How to develop django project in NewEdit

1.9.5. How to develop django model in NewEdit

1.10. 反馈

  • 好也!不过,Tutorial 的Wink 使用,也可以进行经验分享哪,而且更加有意义的说………… ZoomQuiet

  • 并不困难,它自带两个Flash教程,应该可以学会操作了。在实际中可以不停地按Pause键(单帧截取)可能更方便,因为图片少这样体积也小。 -- Limodou

1.11. Research

NewEdit的一些GUI心得写出来,主要是一些方便的类,希望可以不停地完善,让编写GUI更方便和容易

1.11.1. CheckList

  • 用于显示有检查框的List,同时还带有一个List类。方便生成List和支持点击CheckBox来切换状态。

  • 查看 NewEditCheckList

1.12. Plugins depend on

Some plugins need the third party module preinstall, so if you want to use plugins, you should see modulesinfo.html first, and download & install the depend on modules first.

1.13. What people say

Write down your opinions

1.14. FAQ

  1. How to get the newest source code from svn


  • 1 中文版本的项目页面也要及时更新哪,毕竟这是主要的目标用户群?-- ZoomQuiet