FarNet — .NET Far API and .NET module manager

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

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

Post by NightRoman »

Latest post of the previous page:

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

= 4.3.16 =

IEditor
-- Removed the workaround method ChangeTitle because Mantis 1334 was recently
resolved: the property .Title now changes the title permanently, null or empty
string restores the original title.

Module EditorKit
The module TrimSaving is replaced with a new module EditorKit. It contains:
-- TrimSaving (old) - trims line ends on saving;
-- ExpandTabsAll (new) - sets tabs expansion mode to 'All' for some files.
Notes:
-- Reminder: file types are configurable via FarNet configuration UI.
-- You may want to remove or rename this registry key:
HKEY_CURRENT_USER\Software\Far2\Plugins\FarNet\TrimSaving.dll

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

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

Post by NightRoman »

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

= 4.3.17 =

Tracing (configured via Far.exe.config or dynamically)
-- Internal FarNet tracing uses newer TraceSource tools instead of older Trace.
-- "Far.exe.config" enables the source "FarNet" with the switch "FarNet.Trace".
The default switch level is "Warning". Do not forget to update the config file
(or merge with your changes) to make sure that new tracing works.
-- The trace listener writing to the file "C:\Far.exe.trace.log" is disabled in
the distributed config file. Practice shows that it is useful only in special
cases. In that cases this or other listeners should be added and configured.
Alternatively, tracing can be watched by the Sysinternals utility DbgView.exe
or in the attached debugger if any is available.

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

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

Post by NightRoman »

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

= 4.3.18 =

New module cache approach
-- It is fine to use several Far or FarNet locations with different sets of
modules or even different versions. Cache conflicts are resolved now.
-- Theoretically new way of caching should work slightly faster because some
housekeeping procedures are not performed.
But:
-- There is no automatic cache cleaning now. The cache may contain entries not
used any more. It is recommended to remove the cache manually periodically, in
particular after removing\moving\renaming modules and Far\FarNet locations:
HKEY_CURRENT_USER\Software\Far2\Plugins\FarNet\!Cache

Renamed confusing names
IFar.GetUserScreen -> ShowUserScreen
IFar.SetUserScreen -> SaveUserScreen
These methods are "low level" and it is very unlikely that many modules use
them. Still, if a module calls them then this change is breaking, indeed.

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

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

Post by NightRoman »

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

= 4.3.19 =

Internal changes dealing with the user screen operations. Automatic calls of
SaveUserScreen before showing Far UI after ShowUserScreen and console writing.
NOTE: direct use of these methods and console writing is not recommended.

IFar
Renamed WriteText and WritePalette to DrawColor and DrawPalette in order to
distinguish them from low level Write* methods. In contrast to Write* family
Draw* methods are for normal use, for example for custom dialog controls.

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

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

Post by NightRoman »

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

= 4.3.20 =

NOTE: this time update manually (not by Update-PowerShellFar.ps1) because the
FarNet package has slightly changed.

*) Renamed documentation
Renamed PowerShellFar.chm to FarNetAccord.chm. It includes PowerShellFar API
but it is about FarNet in the first place, so the new name is less confusing.

*) IButton
-- fix: .Text should return the real text, i.e. without brackets.

*) Module configuration
-- fixes in editor and filer module config tools.

*) Misc
-- fix of console colors of error messages on exit.

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

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

Post by NightRoman »

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

= 4.3.21 =

NOTE: update manually (not by Update-PowerShellFar.ps1).

*) IFar
-- New property RawUI.

*) IRawUI
-- Low level UI operator; properties so far: WindowCursor, WindowPlace
(Far 2.0.1573: ACTL_GETFARRECT, ACTL_GETCURSORPOS, ACTL_SETCURSORPOS).

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

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

Post by NightRoman »

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

= 4.3.22 =

(Update by Update-PowerShellFar.ps1 should work fine)

*) Raw UI methods moved to a separate interface
-- Renamed recently added property IFar.RawUI to UI.
-- Added a few UI members to hide direct calls to System.Console.
-- Moved raw UI members from IFar to IFar.UI: DrawColor, DrawPalette,
GetPaletteBackground, GetPaletteForeground, MainWindowHandle, RestoreScreen,
SaveScreen, SaveUserScreen, ShowUserScreen, SetProgressState, SetProgressValue,
Redraw, and Write.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.23 =

*) Update-FarNet.ps1 (new script for selective update of FarNet packages)
http://farnet.googlecode.com/svn/trunk/ ... FarNet.ps1

Its goal is selective update of various FarNet packages. In particular it
updates FarNet. You may skip any packages.

You can download the script directly from the above URL (do not forget to
unblock the script) or take it together with the PowerShellFar package.

*) Raw UI
Minor changes and fixes.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.24 =

Technical build with no API changes.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.25 =

*) IEditor
-- Very good news: workaround methods BeginAccess/EndAccess for faster line
iterations are not needed anymore (Far 2.1623+) and removed. Breaking change,
modules using them should be updated.
-- If EditorKit module is used then it has to be rebuilt.

*) Documentation
-- It is adapted for and built by the latest Sandcastle. Documentation style is
changed from "Prototype" to "VS2005" because "Prototype" is declared obsolete.
("VS2005" style is better, basically)

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.26 =

*) New utility library FarNet.Tools.dll (and its FarNet.Tools.xml)
It will contain tools that are not FarNet API or Far Manager API but extra
FarNet utilities designed for all modules. If a module uses these tools then
FarNet.Tools.dll should be added to its references together with FarNet.dll.
-- moved SubsetForm from FarNet to FarNet.Tools;
-- added new utility form ProgressForm; examples: Test-ProgressForm-.ps1 in
PowerShellFar and the separately distributed module FolderChart.

*) Utility forms moved from FarNet to FarNet.Tools
-- removed IFar.CreateSubsetForm() method;
-- removed interfaces IForm and ISubsetForm.

*) Documentation
-- Added documentation of new FarNet.Tools types.
-- Improved index panel: added sub-indexes for types, joined indexes for
members with same names + full names view in the "Topics found" dialog.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.27 =

*) FarNet.Tools.ProgressForm
-- New helper method SetProgressInt64() for long integer values.
-- New method Invoke() invokes the specified job action delegate in a new
thread. This is a simple scenario with optional job thread abortion.
-- New features were tried/tested in the MultiHasher module and will be
proposed to the author. Watch the MultiHasher announcements.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.28 =

*) IEdit, IComboBox
Added property IsTouched (~ DM_EDITUNCHANGEDFLAG).

*) New interface IEditable
IEdit and IComboBox now share the same base interface IEditable.
(It's unlikely breaking, but probability is not zero)

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.29 =

*) Far.Net.UI
New method SetProgressFlash() (Far 2.0.1660, ACTL_PROGRESSNOTIFY).

*) FarNet.Tools.ProgressForm
The progress form calls SetProgressFlash() after show. As a result, such
modules as FolderChart, MultiHasher have this new feature automatically.
NB: the toolbar icon flashes only if the window is not active.

*) IDialog
Fixed work of the TypeId property for native Far dialogs.

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.30 =

*) IEditor
-- New property Bookmark gets the bookmark operator.
-- Method Bookmarks() moved to the IEditorBookmark.

*) New interface IEditorBookmark
Operates on the standard and stack (new!) editor bookmarks.

*) Exceptions on Far call failures
InvalidOperationException is used for internal issues, e.g. Far call failures,
instead of OperationCanceledException. Modules may be affected if they used to
catch/check OperationCanceledException.

NB: for correct work with bookmarks use Far 2.0.1667+

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

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

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

= 4.3.31 =

*) UI: new .NET menu items
Added two new menu items "Editors..." and "Viewers..." that show the editor or
viewer list sorted by recent activity. This is experimental but it looks like a
useful addition to the native Far menu Screens.

*) Editor & Viewer
-- New methods Activate() to make the instance window active.
-- Improved internal management of editor and viewer lists. Useful side effect:
IFar methods Editors() and Viewers() return instances sorted by last activity.

*) IEditor
-- New properties KeyCount, TimeOfOpen, TimeOfSave (for statistics, AI, etc.)
-- Changed Save(): it saves only on changes. This is shorter than often used
"if (!editor.IsSaved) Save();" and helps to avoid misuse of the IsModified.
-- New method Save(bool) allows to save even not changed file.

NB: change of Save() is unlikely breaking but you may want to review your calls
and remove not needed checks.

*) IViewer
-- New property TimeOfOpen (similar to IEditor).

Post Reply

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