UI question regarding SfxToolBoxControls
michael.meeks at suse.com
Tue Feb 21 06:47:01 PST 2012
On Tue, 2012-02-21 at 08:52 +0100, Winfried Donkers wrote:
> Presently, the last used colour is stored within the control
> (mLastColor) and in the shell (e.g. ScFormatShell, SwTextShell) where
> the execute function is.
Riight - that doesn't seem so optimal :-)
> I would like to obtain the last used colour from the control when the
> execute function is called. When a user wants to use the last used
> colour, the execute funtion is called with the SlotId, but without
> other arguments.
OK - makes sense. So presumably we could add arguments to the
SfxRequest that gets passed in there with the last color selected ?
> Does anyone know if and how the control can be addressed from the
> execute function (with the SlotId as key)? I can then add a simple
> GetLastColor() method to the control and remove all redundant
> lastusedColor stuff within the shell.
Might it not be better to pass the color into the code via the
SfxRequest's Attrs ?
#0 ScFormatShell::ExecuteAttr (this=0x8ace6e0, rReq=...)
#1 0xae7aadb0 in SfxStubScFormatShellExecuteAttr (pShell=0x8ace6e0,
#2 0xb683094b in ?? () from /data/opt/OOInstall/program/libmergedlo.so
#3 0xb682bb25 in ?? () from /data/opt/OOInstall/program/libmergedlo.so
#4 0xb6840e12 in ?? () from /data/opt/OOInstall/program/libmergedlo.so
#5 0xb68413ef in ?? () from /data/opt/OOInstall/program/libmergedlo.so
#6 0xb693da13 in SfxToolBoxControl::Dispatch(rtl::OUString const&,
#7 0xb6e6caa1 in SvxFontColorExtToolBoxControl::Select(unsigned char)
() from /data/opt/OOInstall/program/libmergedlo.so
#8 0xb693b6a8 in SfxToolBoxControl::Select(unsigned short) ()
Looks like you could add
some magic into the SfxToolboxControl::Dispatch's arguments, though I
suspect you'd need to tweak the scslots.sdi file for that ID as well -
it's not a piece I'm horribly familiar with, but hopefully tracing
through another id that passes more parameters might do.
Does that help ? :-) hopefully having got one done, the rest will
Thanks for tackling this!
michael.meeks at suse.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice