
On Apr 14, 2013, at 4:23 AM, Arshdeep Singh wrote:
[SNIP]
in the function:
void DialogVerb::perform(SPAction *action, void *data)
which launches the appropriate dialog or rather it should. Sadly this is not the case ?
Can someone please help me point out the what am I missing out ?
Look in the file ui/dialog/dialog-manager.cpp starting at about line 99. That's what lets the dialog manager know what to do when you pass it the string "RecolorArtwork"
if (dialogs_type == FLOATING) { registerFactory("AlignAndDistribute", &create<AlignAndDistribute, FloatingBehavior>); registerFactory("DocumentMetadata", &create<DocumentMetadata, FloatingBehavior>); registerFactory("DocumentProperties", &create<DocumentProperties, FloatingBehavior>); registerFactory("ExtensionEditor", &create<ExtensionEditor, FloatingBehavior>); registerFactory("FillAndStroke", &create<FillAndStroke, FloatingBehavior>); registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog, FloatingBehavior>); registerFactory("Find", &create<Find, FloatingBehavior>); registerFactory("Glyphs", &create<GlyphsPanel, FloatingBehavior>); registerFactory("IconPreviewPanel", &create<IconPreviewPanel, FloatingBehavior>);
BTW, one way to find such things would be to search for the string of an existing thing you're trying to be similar to. One such would be the fill-and-stroke dialog. This command can help:
find . -name '*.cpp' -exec grep -H '"FillAndStroke"'
(that has single quotes on the outside and double quotes on the inside so that it will search for that string with the double quotes)