pytextedit 0.4 alpha 3

This release is mostly the addition of extra configuration options.

Changelog

  • Added “Tools -> Send -> Send Via FTP…”.
  • Added a config option for specifying the default FTP server.
  • Changed the keybinding for “Search -> Replace…” to the standard Ctrl+H.
  • Added a config option for specifying how Goto will handle negative line numbers.
  • Added a config option for speciying whether or not more advanced options will be shown in the Search menu.
  • Added a config option for specifying whether or not the menu bar should be shown.
  • Added a config option for specifying the default sender for emails.
  • Added a config option for specifying the default recipient for emails.
  • Block indenting is now off by default.
  • Added a category in the Options dialog for configs relating to the file browser.
  • Added a config option for specifying whether the file browser’s title should be “File Browser” or the current directory.
  • Added a “browse” macro command for the file browser.
  • Renamed the macro command for deleting files to “delete_file” to avoid a conflict with “delete” for deleting text in the text box.
  • Added some missing documentation to the “macro_docs” file.
  • Added a config option for specifying whether or not the file browser toolbar should be displayed.
  • Added a keybinding for “Tools -> Run Command…”. (Ctrl+R)
  • Added macro commands “send_email” and “send_ftp”.
  • Added a config option for specifying whether or not the file browser menu bar should be displayed.
  • Added a config option for specifying whether or not the file browser should sort files alphabetically.
  • Added a config option for specifying whether the folders in the file browser should be displayed above or below the files.
  • Added a config option for specifying whether toolbar buttons in the file browser should use images, text, or both.
  • Added a config option for specifying where in relation to the text images on the toolbar buttons in the file browser should be displayed.
  • Added “Tools -> Strip Leading Space” and corrosponding macro command.
  • Added “Tools -> Strip Trailing Space” and corrosponding macro command.

Download

Link.

Advertisements

pytextedit 0.4 alpha 2

Changelog

  • Added Unicode support for Python 2.
  • Renamed Save buttons in Options dialog to OK.
  • Added Apply buttons to Options dialog.
  • Fixed bug where disabling automatic indenting would also disable code indenting and comment continuation.
  • Disabling/enabling automatic indenting no longer requires a restart to take effect.
  • Changed how Delete Nonselected works so that the cursor position is kept.
  • Removed bindings on status bar.
  • Renamed the “Edit -> Line Edit” submenu to “Edit -> Line”.
  • Fixed bug where context menu would show if the status bar or toolbar was right-clicked.
  • Removed the Options button from the toolbar.
  • Changed some dialogs to be more consistent.
  • Changed Replace Spaces with Tabs and Replace Tabs with Spaces to remember the cursor position, and to only replace if the substrings exist.
  • Fixed bug where clicking Cancel in the Run Command dialog would result in an error.
  • Improved some comments.
  • Added “Code -> Execute”. Also added corrosponding macro command.
  • Find and Replace dialogs will no longer close if there is nothing in the entries.
  • Re-arranged some menus.
  • Find, Replace, and Insert Tag dialogs now have labels that are aligned consistently.
  • Added a config option for specifying where in relation to the text the images on the toolbar buttons will be displayed.
  • Labels on the status bar are now sunken.
  • Added “Tools -> Send” submenu.
  • Added a config option for specifying the default email server.
  • Added “Tools -> Send -> Send Via Email…”.
  • Added “Code -> Find Opening Symbol”.
  • Added “Code -> Find Closing Symbol”.

Download


Link.

pytextedit 0.4 alpha 1

I’ve gotten quite a lot done, including just about all the (current) minor enhancements as well as a few major ones.

Changelog

  • Added error checking for saving files in file_exit(), opt_options(), and opt_edit_favorites().
  • Options dialog now has smaller tabs/buttons, to allow for more categories.
  • Added “Network” category to the Options dialog.
  • Added “Searching” category to the Options dialog.
  • Moved regex an case sensitivity options into the Searching category in the Options dialog.
  • Changed some of the labels in the Find/Replace dialogs slightly.
  • Added regex search checkboxes to the Find/Replace dialogs.
  • Added search/replace backwards checkboxes to the Find/Replace dialogs.
  • Added “keep dialog open” checkboxes to the Find/Replace dialogs.
  • Changed the text of a couple buttons in the Find/Replace dialogs.
  • Checkboxes in the Find/Replace dialogs are now aligned better.
  • Fixed bug where opening a file from the command line would allow the user to undo the insertion of the text.
  • Changed the configuration system.
  • Added a config option for where in the string the cursor will be positioned when using Find.
  • Added a config option for specifiying whether or not the Find/Replace dialogs should be kept open.
  • Status bar can now be hidden. There was an OptionMenu for it in the Options dialog, but it didn’t do anything.
  • Fixed errors caused when status bar or toolbar were disabled. There was no checking to see if they existed when binding events.
  • Entering a negatibe number in Goto will now go to that many lines from the end.
  • Added “Help -> Report a Problem…”.
  • Added a config option for specifiying whether or not the documents should be checked for unsaved changes on exit.
  • Improved the Statistics dialog.
  • Fixed bug in “Tools -> View Bookmarks…” where clicking on a blank part of the listbox would result in an error.
  • Added “Tools -> Tasks…”. Also added corrosponding macro command.
  • Added a config option for specifying whether or not the window geometry should be saved on exit.
  • Added file browser.
  • Moved block indenting OptionMenu into Code category.
  • Added automatic comment continuation, and corrosponding config option.
  • Fixed bug where indenting by selecting text wouldn’t work for the first line if the starting position was the first character of the line.
  • Added a config option to specify whether the toolbar buttons should use images only, text only, or both text and images.
  • Tearoff menus are now disabled by default.
  • The context menu now works on OSX.

I still have quite a lot left to do, of course. All the network-related stuff (collab editing, etc.) needs to be done, as well as major features like the plugin system and the syntax highlighter.

Download

Link.

webworker2: improved JavaScript Worker object

This is a simple library that improves the JavaScript Worker object, for creating web workers (basically allowing code to execute without blocking). It defines two new objects: Worker2 and WorkerFunction.

About

The first, Worker2, is a slight simplification of the built-in Worker object. The constructor takes three parameters: the name of the script to execute, an optional callback function for when the worker uses postMessage(), and an optional callback function for when an error occurs in the worker. The onmessage callback will be passed two parameters: the data sent and the event object. The onerror callback will be passed just the event object.

Example:

worker = new Worker2("myscript.js", function(data, e) { alert(data; });

Worker2 has four methods. The first two are postMessage() and the alias post(). These accept one parameter: the data to be sent. The other two methods are terminate() and stop(), both of which end the worker.

The other object, WorkerFunction, is more complex. It also takes three parameters, but the first is a function instead of a string. This function is used as the worker, so another file isn’t required. The two callbacks are used exactly the same way.

Example:

var myFunction = function(a, b, c) {
    return a + b + c;
};
var myCallback = function(data, e) {
    document.body.innerHTML = "<strong>" + data + "</strong>"
};
var worker = new WorkerFunction(myFunction, myCallback, function(e) { alert("Error: " + e.data); });
worker.post([1,2,3])

WorkerFunction has the same four methods as Worker2. postMessage() and post() work differently, however: they are used to pass parameters to the function if needed. They must only be passed one argument, an array of the parameters. Alternatively, they can be passed nothing if no parameters are needed.

Download

You can download webworker2 here.