FarNet — .NET Far API and .NET module manager

Анонсы новых плагинов. Обсуждение плагинов ведется ниже.
Post Reply
User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Sun 31 May, 2009 17:34

Latest post of the previous page:

http://code.google.com/p/farnet/

= 4.1.1 =

*) IEditor.CodePage for the opened editor works now (read only).

*) As it was announced, two obsolete methods IFar.CreatePanelItem() were
removed. Plugins should create instances of SetFile directly by 'new' or they
can use custom files derived from FarFile.

*) Build. Directory FarNetMan\Headers.c is removed. The FarNetMan expects it in
here: "C:\Program Files\Far\PluginSDK\Headers.c". If this is not a case then
project include directories should be corrected.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Sat 06 Jun, 2009 14:49

http://code.google.com/p/farnet/

= 4.1.2 =

Technical build.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 08 Jun, 2009 09:26

http://code.google.com/p/farnet/

= 4.1.3 =

*) Fixed plugin calls from the disk menu.

*) IAnyEditor
Added new event Idled, as usual, triggered periodically when a user is idle.
Event OnKey is not triggered with VirtualKeyCode = 0 any more, plugins should
use new event Idled for this case. This change makes handlers more natural and
also improves performance: OnKey is relatively expensive and called not often
now, Idled is cheap (event itself, actual cost depends on handlers, of course).

*) New class IdledHandler
It is a helper for Idled events. Idled events may be called too frequently for
a particular task. In this case use IdledHandler.Create to get a handler with a
custom call frequency.

*) Forms.IDialog.Idled changed from EventHandler<AnyEventArgs> to the simple
EventHandler for 2 reasons: a) arguments were not used anyway; b) to follow
common Idled events scheme, which allows use of IdledHandler, for example.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 15 Jun, 2009 14:01

http://code.google.com/p/farnet/

= 4.1.4 =

Updated for Far 2.0.992 (breaking changes in Far Dialog API)

CUSTOM PANEL COLUMNS

At last FarNet supports custom user panel columns. Use FarFile.Columns,
SetFile.Columns. Custom columns are very easy: property Columns is any
collection of any objects. See also FarNet.PanelModeInfo: use C0-C9 in
ColumnTypes and StatusColumnTypes.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Tue 16 Jun, 2009 10:14

http://code.google.com/p/farnet/

= 4.1.5 =

Updated for Far 2.0.997 (breaking changes in Far Editor and Window API)

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Wed 24 Jun, 2009 13:54

http://code.google.com/p/farnet/

= 4.1.6 =

*) IEditor. New methods BeginUndo(), EndUndo(), Undo(), Redo(). Note: they
implement new Far API.

*) IEditor::SetText is now atomic for Undo\Redo.

*) IFar. New method PostJob() - posts a handler to be invoked in the Far main
thread when Far gets control. Note: it implements new Far API. Note: test only
so far.

INTERNAL
- Removed workaround in Editor::SetText (missed the first empty line of the
first output), the editor looks working fine in the latest Far.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Sun 12 Jul, 2009 17:21

http://code.google.com/p/farnet/

= 4.1.7 =

*) IPanel. New methods SelectAt, UnselectAt, SelectAll, UnselectAll.

*) IPanel. New properties ShownList and SelectedList. They are similar to
ShownFiles and SelectedFiles, but not always the same and work dynamically,
i.e. return only really accessed items. Note that ShownFiles now does not
return ".." item, if you need this item then use new ShownList instead.

*) IPluginPanel. Property Id is renamed into TypeId.

*) Internal. Changed memory management for panel items. As a result, reduced
"out-of-memory" chances for panels with extremely large number of items.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 10 Aug, 2009 11:05

http://code.google.com/p/farnet/

= 4.1.8 =

*) New utility interface ISubsetForm - Dialog for selecting a subset of items.
Create it by IFar.CreateSubsetForm(), set its Items and initial selected
Indexes, call Show(), get result selected Indexes. To be continued.

*) IDialog.MouseClicked is now also called if a control does not process this
event (same as for KeyPressed event).

*) IDialog. New property TypeId. Implemented recently added related Far API:
DN_GETDIALOGINFO, DM_GETDIALOGINFO.

*) Fixed not shown panel data of a child panel which view mode is different
from parent panel view mode. New code is also more optimal.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Wed 19 Aug, 2009 11:36

http://code.google.com/p/farnet/

= 4.1.9 =

*) Fixed not restored parent panel current item on exit from a child panel
which view mode is different from parent.

*) New property IPluginPanelInfo.AutoAlternateNames: Tells to generate
AlternateName value in plugin panel files automatically.

*) Property IPluginPanel.Files is now get/set, you can set any IList<FarFile>
instead of refilling the existing list instance.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Sat 22 Aug, 2009 16:50

http://code.google.com/p/farnet/

= 4.1.10 =

*) Fix: Menu: item event handler should not be triggered on a break key.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 24 Aug, 2009 10:39

http://code.google.com/p/farnet/

= 4.1.11 =

*) Fix: IPluginPanel.ShownList used to return null instead of a "dots" file.

*) Added property GettingFilesEventArgs.Names needed in rare cases when auto
alternate names are used.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Wed 02 Sep, 2009 10:35

http://code.google.com/p/farnet/

= 4.2.0 =

----- Major changes -----

4.1.0 introduced classes FarFile and SetFile instead of interface IFile. This
approach looks good. So now 4.2.0 in the same way introduces classes FarItem
and SetItem instead of interface IMenuItem.

Yet another change is replacement of a menu item event OnClick (with ability to
add multiple handlers) with a single handler Click. Practice shows that a
single handler is enough and less confusing.

The changes are breaking, indeed, but it should be really easy to update your
code, please follow the simple steps below:

In your code:
1) replace 'IMenuItem' with 'FarItem'
2) replace 'Far.CreateMenuItem()' with 'new SetItem()'
3) replace adding 'OnClick += ...' with setting 'Click = ...'

----- Other changes -----

*) IMenu: added still missed property ChangeConsoleTitle.

*) IFar: improved PostJob; it collects all posted handlers (excluding dupes);
then they are all invoked in the order they were posted.

*) IPanel: new method GoToName(string, bool) in addition to GoToName(string).
New one returns succeess flag or may optionally throw if a name is not found.

*) IPluginPanelInfo: renamed too general name Format into FormatName.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 07 Sep, 2009 10:49

http://code.google.com/p/farnet/

= 4.2.1 =

*) IEditor: new method TextWriter CreateWriter(): the writer calls Insert*()
internally. It is convenient and efficient for using where a writer is
expected.

*) IEditor: new method InsertChar(): not a big deal (Insert() can do the job)
but it is effectively used by text writers created by CreateWriter().

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Fri 11 Sep, 2009 13:34

http://code.google.com/p/farnet/

= 4.2.2 =

*) IDialog: new event ConsoleSizeChanged ~ DN_RESIZECONSOLE.

*) IDialog: new methods DisableRedraw(), EnableRedraw() ~ DM_ENABLEREDRAW.

*) IDialog: Rect is settable after Show(), too; same as Move() + Resize().

*) IListMenu uses ConsoleSizeChanged to recalculate its size according to the
new console size.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Wed 30 Sep, 2009 10:40

http://code.google.com/p/farnet/

= 4.2.3 =

*) Adapted to Far 2.0.1145+: Far does not set the current directory to the
active panel path (a step to long paths support). Still, remember that .NET
itself and many other external tools do not like long paths. _090929_061740

*) New property IFar.ActivePath: Gets the path of the active Far panel or the
ActivePath (former StartDirectory) of the active FarNet panel. Mind long paths.

*) IEditor.CodePage is now settable after opening, so that it is possible to
change code pages from a plugin. Another good news: Far 2.0.1144+ API works
correctly with code pages on open, save, and save as operations.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Sun 04 Oct, 2009 13:32

http://code.google.com/p/farnet/

= 4.2.4 =

*) IEditor: new methods BeginAsync() and EndAsync() allows to write to not a
current editor or from background jobs. Output procedure is similar to console
output. Use this mode very carefully and only when it is absolutely needed.
Plugin PowerShellFar uses this mode for asynchronous editor consoles.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

Re: FarNet - .NET Far API and .NET plugin manager

Post by NightRoman » Mon 12 Oct, 2009 09:58

http://code.google.com/p/farnet/

= 4.2.5 =

*) Requires Far 2.0.1160. Event IPluginPanel.PuttingFiles now accepts arguments
as PuttingFilesEventArgs which has additional property Source - source path of
the files being processed. This is not a breaking change, but in Far 2.0.1145+
some operations cannot be performed correctly without this Source information,
such plugins have to be updated.

Post Reply

Return to “Анонсы новых плагинов”