Just in case of: I do not want my email to be read as I did not intent to.
You are doing a great work Denis. 

Keep going!

Alexandre


> On Apr 11, 2017, at 12:34 PM, Alexandre Bergel <alexandre.ber...@me.com> 
> wrote:
> 
> Was is really necessary to introduce pragmas here? 
> 
> Alexandre
> 
> 
>> On Apr 11, 2017, at 11:49 AM, Denis Kudriashov <dionisi...@gmail.com> wrote:
>> 
>> Hi.
>> 
>> I am glad to announce Commander library which implements command pattern 
>> based on first class objects.
>> In Commander every application action is implemented as separate class with 
>> #execute method and all state required for execution.
>> 
>> Commands are reusable objects and applications provide various ways to 
>> access them: shortcuts, context menu, buttons, etc.. This information is 
>> attached to command classes as activator objects. Currently there are three 
>> types of activators:
>> 
>> - CmdShortcutCommandActivator
>> - CmdContextMenuCommandActivator
>> - CmdDragAndDropCommandActivator
>> 
>> Activators are declared in command class side methods marked with pragma 
>> #commandActivator. For example following method will allow 
>> RenamePackageCommand to be executed by shortcut in possible system browser:  
>> 
>> RenamePackageCommand class>>packageBrowserShortcutActivator
>>      <commandActivator>
>>      ^CmdShortcutCommandActivator by: $r meta for: PackageBrowserContext
>> 
>> And for context menu it will be:  
>> 
>> RenamePackageCommand class>>packageBrowserMenuActivator
>>       <commandActivator>
>>       ^CmdContextMenuCommandActivator byRootGroupItemFor: 
>> PackageBrowserContext
>> 
>> Activators are always declared with application context where they can be 
>> applied (PackageBrowserContext in example). Application should provide such 
>> contexts with information about application state. Every widget can bring 
>> own context to interact with application as separate tool. For example 
>> system browser shows multiple panes which provide package context, class 
>> context and method context. And depending on context browser shows different 
>> menu and provides different shortcuts.
>> 
>> For more details look at my blog 
>> http://dionisiydk.blogspot.fr/2017/04/commander-command-pattern-library.html 
>> and read docs here.
>> 
>> Best regards,
>> Denis  
>> 
>> 
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply via email to