Changes for version 0.65

  • Task 2.0 API landed on trunk (and everything breaks) (ADAMK)
  • Converted the FunctionList GUI component to work via a task (ADAMK)
  • Padre::Role::Task role added to allow any object in Padre to be the "owner" of task and automatically handle which tasks are still relevant to the UI state at the time the task is completed, and ignore the ones that aren't (ADAMK)
  • New compulsory Padre::Wx::Role::View for editor GUI componants that want to live in the left/right/bottom tool panels (ADAMK)
  • Renamed a number of classes to simpler names. Because we are breaking everything anyway, this is an opportune time to lump in these low-importance changes (ADAMK)
  • Padre::DocBrowser --> Padre::Browser (ADAMK)
  • Padre::Wx::DocBrowser --> Padre::Wx::Browser (ADAMK)
  • Padre::Wx::Role::MainChild --> Padre::Wx::Role::Main (ADAMK)
  • Language-specific task sub-classes now live under the document class instead of under the Padre::Task tree, to encourage concentration of language-specific code within the document tree (ADAMK)
  • Padre::Task::Perl::Syntax --> Padre::Document::Perl::Syntax (ADAMK)
  • Padre::Task::Perl::Outline --> Padre::Document::Perl::Outline (ADAMK)
  • Startup config file now uses a custom hyper-minimalist format which avoids the need to load YAML::Tiny before the first thread spawn, saving about 400k per thread (ADAMK)
  • Padre::Logger now allows the PADRE_DEBUG environment variable to be set to a specific class name, enabling logging only for that class. This simplies tracing around a specific problem now that the number of classes with debugging hooks is getting large (ADAMK)
  • Moved the startup tool enabling of the syntax check and error list from the startup timer to the constructor, and prevent them from writing back to the config. We no longer need to write the config at all during startup, making startup faster (ADAMK)
  • Scroll the output window down on outputs (kthakore)
  • Directory browser rewritten to operate in the background (ADAMK)
  • Improved directory tree search to take advantage of new background file scanning. It is now instantaneously quick (ADAMK)
  • Added the PPI::Cache API to provide a simple common mechanism for stashing GUI model data such that all cache data can be cleaned up in one go when the relevant project or document is released (ADAMK)
  • Fixing some new bugs or adding temporary workarounds for them (SEWI)
  • Rebuild History using non-blocking IO on Padre start (SEWI)

Documentation

Padre::DB class for the snippets table
The Primary Padre Documentation
Guide to hacking on Padre
client for Padre

Modules

Perl Application Development and Refactoring Environment
Padre Action Object
outsourced module, creates Actions for developing Perl files
auto-save and recovery mechanism for Padre
documentation browser for Padre
is an afterthought
Configuration subsystem for Padre
Padre configuration storing host state data
Padre configuration storing personal preferences
Upgrade a configuration file from an older version
constants used by configuration subsystems
convenient access to current objects within Padre
An ORLite-based ORM Database API
Padre::DB class for the bookmark table
Padre::DB class for the history table
Padre::DB class for the hostconf table
db table keeping last position in a file
Extremely light weight SQLite-specific schema migration
Padre::DB class for the plugin table
Database table to store recently used stuff
db table keeping known padre sessions
Database table to store session files
Database table to store mime-type to syntax highlighter mapping
Support library for Padre desktop integration
Padre Document API
naive implementation of some beginner specific error checking
Perl 5 Help Provider
Padre Perl 5 Quick Fix
Check for strict and warnings pragmas
Common API for file functions
Padre Help Provider API
Locale support for Padre
The Padre Multi-Resource Lock Manager
Compile-time logging library for Padre
Padre Mime-types
A more nuanced "Where is Perl" module than Probe::Perl
Padre plug-in API 2.2
tools used by the Padre developers
My personal plug-in
The Padre Popularity Contest
Module::Build subclass for building Padre plug-ins
Padre plug-in manager
A customised Pod to HTML for Padre
Padre Quick Fix Provider API
A role for objects that commission tasks
The Padre Search API
Padre start-up related configuration settings
Task for executing arbitrary code via a string eval
PPI based unmatched brace finder
Finds where a variable was declared using PPI
Introduces a temporary variable using PPI
Generic HTTP client background processing task
Lexically variable replace using PPI
Generic PPI background processing task
Padre Document Transform API
Demonstration Padre::Transform class
Padre non-Wx Utility Functions
Open in file browser action
Padre utility functions for new-file-templates
Padre Win32 Utility Functions
Wx integration for Padre
Find in files, using Ack
Padre main Wx application abstraction
Wx front-end for Padre::Browser
Wx front-end for CPAN
interface to Debug::Client
Dummy Padre wrapper around Wx::Perl::Dialog
a dialog to show and configure advanced preferences
document statistics dialog
dialog to filter selection or document through an external tool
a dialog to jump to a user-specified line/position
Padre Shiny Help Search Dialog
a dialog to show and configure key bindings
Open Resource dialog
a dialog for opening URLs
Plug-in manager dialog for Padre
window to set the preferences
Preferences for Padre::File modules
Quick Menu Access dialog
dialog to make it easy to create a regular expression
Find and Replace Widget
Session manager dialog for Padre
dialog to save a Padre session
Windows list dialog for Padre
Utility functions for physical display geometry
Find and list all occurrences
Padre-enhanced version of Wx::HtmlWindow
The main window for the Padre IDE
Simple Single-Document Pod2HTML Viewer
Tell the user that we're doing something
Role to allows an object to receive Wx events
Convenience methods for children of the main window
A role for GUI tools that live in panels
Encapsulates status bar customizations
Abstract dialog class for simple dialog creation
a set of simple dialogs (a partial Zenity clone in wxPerl)
a single choice dialog

Provides

in lib/Padre/Action/Edit.pm
in lib/Padre/Action/File.pm
in lib/Padre/Action/Help.pm
in lib/Padre/Action/Search.pm
in lib/Padre/Action/Tools.pm
in lib/Padre/Action/View.pm
in lib/Padre/Action/Window.pm
in lib/Padre/Browser/POD.pm
in lib/Padre/Browser/PseudoPerldoc.pm
in lib/Padre/CPAN.pm
in lib/Padre/Cache.pm
in lib/Padre/Command.pm
in lib/Padre/Config/Setting.pm
in lib/Padre/Config/Patch.pm
in lib/Padre/Config/Project.pm
in lib/Padre/Config/Setting.pm
in lib/Padre/Config/Style.pm
in lib/Padre/DB/Migrate/Patch.pm
in lib/Padre/Document/Config.pm
in lib/Padre/Document/POD.pm
in lib/Padre/Document/Perl.pm
in lib/Padre/Document/Perl/FunctionList.pm
in lib/Padre/Document/Perl/Lexer.pm
in lib/Padre/Document/Perl/Outline.pm
in lib/Padre/Document/Perl/PPILexer.pm
in lib/Padre/Document/Perl/Syntax.pm
in lib/Padre/File/FTP.pm
in lib/Padre/File/HTTP.pm
in lib/Padre/File/Local.pm
in lib/Padre/Lock.pm
in lib/Padre/PPI.pm
in lib/Padre/Plugin/Devel/Crash.pm
in lib/Padre/Plugin/PopularityContest/Ping.pm
in lib/Padre/PluginHandle.pm
in lib/Padre/Project.pm
in lib/Padre/Project/Null.pm
in lib/Padre/Project/Perl.pm
in lib/Padre/Project/Perl/DZ.pm
in lib/Padre/Project/Perl/EUMM.pm
in lib/Padre/Project/Perl/MB.pm
in lib/Padre/Project/Perl/MI.pm
in lib/Padre/Project/Temp.pm
in lib/Padre/Task.pm
in lib/Padre/Task/Addition.pm
in lib/Padre/Task/Browser.pm
in lib/Padre/Task/ErrorList.pm
in lib/Padre/Task/FunctionList.pm
in lib/Padre/Task/LaunchDefaultBrowser.pm
in lib/Padre/Task/OpenResource.pm
in lib/Padre/Task/Outline.pm
in lib/Padre/Task/Syntax.pm
in lib/Padre/TaskHandle.pm
in lib/Padre/TaskManager.pm
in lib/Padre/TaskProcess.pm
in lib/Padre/TaskThread.pm
in lib/Padre/TaskWorker.pm
in lib/Padre/Test.pm
in lib/Padre/Transform/Perl.pm
in lib/Padre/Util/SVN.pm
in lib/Padre/Util.pm
in lib/Padre/Wx/About.pm
in lib/Padre/Wx/AuiManager.pm
in lib/Padre/Wx/Bottom.pm
in lib/Padre/Wx/CPAN/Listview.pm
in lib/Padre/Wx/Debugger/View.pm
in lib/Padre/Wx/Dialog/Bookmarks.pm
in lib/Padre/Wx/Dialog/Encode.pm
in lib/Padre/Wx/Dialog/HTML.pm
in lib/Padre/Wx/Dialog/ModuleStart.pm
in lib/Padre/Wx/Dialog/Preferences/Editor.pm
in lib/Padre/Wx/Dialog/RefactorSelectFunction.pm
in lib/Padre/Wx/Dialog/Search.pm
in lib/Padre/Wx/Dialog/Snippets.pm
in lib/Padre/Wx/Dialog/SpecialValues.pm
in lib/Padre/Wx/Dialog/Text.pm
in lib/Padre/Wx/Dialog/WhereFrom.pm
in lib/Padre/Wx/Directory.pm
in lib/Padre/Wx/Directory/Path.pm
in lib/Padre/Wx/Directory/Task.pm
in lib/Padre/Wx/Directory/TreeCtrl.pm
in lib/Padre/Wx/Editor.pm
in lib/Padre/Wx/ErrorList.pm
in lib/Padre/Wx/FileDropTarget.pm
in lib/Padre/Wx/FunctionList.pm
in lib/Padre/Wx/History/ComboBox.pm
in lib/Padre/Wx/History/TextEntryDialog.pm
in lib/Padre/Wx/Icon.pm
in lib/Padre/Wx/Left.pm
in lib/Padre/Wx/Menu.pm
in lib/Padre/Wx/Menu/Debug.pm
in lib/Padre/Wx/Menu/Edit.pm
in lib/Padre/Wx/Menu/File.pm
in lib/Padre/Wx/Menu/Help.pm
in lib/Padre/Wx/Menu/Perl.pm
in lib/Padre/Wx/Menu/Refactor.pm
in lib/Padre/Wx/Menu/RightClick.pm
in lib/Padre/Wx/Menu/Run.pm
in lib/Padre/Wx/Menu/Search.pm
in lib/Padre/Wx/Menu/Tools.pm
in lib/Padre/Wx/Menu/View.pm
in lib/Padre/Wx/Menu/Window.pm
in lib/Padre/Wx/Menubar.pm
in lib/Padre/Wx/Notebook.pm
in lib/Padre/Wx/Outline.pm
in lib/Padre/Wx/Output.pm
in lib/Padre/Wx/Popup.pm
in lib/Padre/Wx/Printout.pm
in lib/Padre/Wx/Right.pm
in lib/Padre/Wx/Syntax.pm
in lib/Padre/Wx/TodoList.pm
in lib/Padre/Wx/ToolBar.pm
in lib/Wx/Perl/Dialog/Frame.pm