[Cuis-dev] How to extend BrowserWindow menus?
Mariano Montone
marianomontone at gmail.com
Wed Jun 5 06:34:36 PDT 2024
Hi Juan,
I'm looking at what you point, but I can't figure it out.
The easiest way for me would be to see some example code.
If you don't mind, here's what I'm trying to do:
I've implemented a SearchBrowser tool in Cuis-Smalltalk-Tools. Now I
would like to add a 'Search ...' menu item to the browser's category
menu that simply calls SearchBrowserWindow class>>searchCategory: with
the browser's currently selected category.
Perhaps you can provide the code for that, I will take it from there for
my other cases. And it may also help with validating your design.
In any case, there's no rush, and thanks,
Mariano
El 5/6/24 a las 09:19, Juan Vuletich escribió:
> Hi Mariano,
>
> I'm doing a big overhaul of the way to specify Menus and Keyboard
> Shortcuts in Cuis. The objective is to make it more flexible and nicer
> to use than DynamicMenuBuilder. It is extensible by third parties,
> although this is not yet documented and there are not any examples.
> See #at:registerMenuAndShortcutsSpecProvider:, or give me another week
> or so until this stabilizes.
>
> For a specific case where the implementor of the menu item action is
> neither the Window nor the Model, see the menu for the list of files
> in FileList. In any case, what I'd do perhaps is to extend the window
> menu with the new operations that require its state.
>
> Cheers,
>
> On 6/4/2024 5:05 PM, Mariano Montone via Cuis-dev wrote:
>> After looking more deeply at the implementation of menus, etc, I
>> think my problem may be a bit difficult to solve.
>>
>> So perhaps it is better to forget about this, I've got it more or
>> less "solved" for my purposes.
>>
>> El 4/6/24 a las 12:30, Mariano Montone escribió:
>>> Hello,
>>>
>>> I would like to extend BrowserWindow menus from my extension.
>>>
>>> I have code like this:
>>>
>>> MyExtension class>>systemCategoryMenuOptions
>>>
>>> ^ {
>>> {
>>> #itemGroup -> 10.
>>> #itemOrder -> 10.
>>> #label -> 'search...'.
>>> #object -> self.
>>> #selector -> #searchCategory:.
>>> #icon -> #findIcon
>>> } asDictionary.
>>> }
>>>
>>> But I can't figure out how to access the Browser instance from the
>>> #searchCategory: method in my extension class. I have no way of
>>> passing it via #arguments: there either.
>>>
>>> It makes sense to be able to, as extensions will want to access the
>>> current browser state (selected category, etc). Is there a
>>> workaround for this?
>>>
>>> Also, if this is solvable, I will want to extend the class list menu
>>> of the browser too. But it doesn't use DynamicMenuBuilder anymore,
>>> it was dropped at some point. Could it be brought back?
>>>
>>> Thanks!
>>>
>>> Mariano
>>>
>
>
More information about the Cuis-dev
mailing list