https://issues.apache.org/ooo/show_bug.cgi?id=121791
Ariel Constenla-Haile <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #8 from Ariel Constenla-Haile <[email protected]> --- (In reply to comment #7) > ALG: It's strange; in the executors of the LinePropertyPanel (e.g. > ChangeStartHdl) the 'group' slot SID_ATTR_LINEEND_STYLE is triggered to > execute the change, but that slot gets *not* triggered when one of the > 'group' members changes, so no call to LinePropertyPanel::NotifyItemUpdate > is done with the slot id SID_ATTR_LINEEND_STYLE. This may be an error in the > sfx implementation (it *should* trigger a 'group' slot when members get > changed, shouldn't it?). To get this working, I will now try to add > SID_ATTR_LINE_START/SID_ATTR_LINE_END slots directly to the svx slot > definitions and to all application slot definitions (also strage that this > has to be done in every application). Note that in the current implementation these are the slot arguments. http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/svx/sdi/svx.sdi#7177 SfxBoolItem LineEndStyle SID_ATTR_LINEEND_STYLE ((XLineStartItem LineStart SID_ATTR_LINE_START,XLineEndItem LineEnd SID_ATTR_LINE_END,SfxUInt32Item StartWidth SID_ATTR_LINE_STARTWIDTH,SfxUInt32Item EndWidth SID_ATTR_LINE_ENDWIDTH) Translated to the new UNO command implementation, you have only the .uno:LineEndStyle command, and SID_ATTR_LINE_START and SID_ATTR_LINE_END are arguments when you dispatch this command, you put them in the arguments sequence, where the name is "LineStart" and "LineEnd", respective. This also means that there are no status updates for these, because they are simply arguments of the command .uno:LineEndStyle. All this is explained in http://wiki.openoffice.org/wiki/Framework/Article/Implementation_of_the_Dispatch_API_In_SFX2 This means you will have to define new slots/UNO Commands if you want to get status updates for these, and dispatch them. The definition can be done globally in svx, but in the interface definition of each sfx2 based module you have to define the methods in the interface of the respective shell responsible for getting the state and executing/dispatching the command/slot. You can get the example of SID_ATTR_LINEEND_STYLE, that is defined globally in svx; in the modules you have the definition of the methods in the shell interface. There is a sort of slot "group" with the feature of master-slave slots, but this is a different thing. You can see this relation for example in master command: ".uno:ArrowShapes" slave commands: ".uno:ArrowShapes.chevron" ".uno:ArrowShapes.circular-arrow" ".uno:ArrowShapes.corner-right-arrow" ... Only the master command has a slot definition; when the application requests a state update from one of the slaves or tries to dispatch it, this is handled by the master (see code in sfx2/source/control/bindings.cxx and SfxOfficeDispatch::IsMasterUnoCommand in sfx2/source/control/unoctitm.cxx) -- You are receiving this mail because: You are on the CC list for the bug.
