Patch #2029 2007-06-02 12:56

raph_

wxSmith: "Extra code" feature
Download
2029-wxSmith_Extra.patch (14.5 KB)
Category
Plugin::FeatureAdd
Status
Accepted
Close date
2007-06-02 19:37
Assigned to
 
Index: plugins/contrib/wxSmith/properties/wxsstringproperty.h
===================================================================
--- plugins/contrib/wxSmith/properties/wxsstringproperty.h    (revision 4044)
+++ plugins/contrib/wxSmith/properties/wxsstringproperty.h    (working copy)
@@ -54,7 +54,7 @@
     { static wxsStringProperty _Property(PGName,DataName,wxsOFFSET(ClassName,VarName),false,XmlStoreEmpty,Default); \
       Property(_Property); }
 
-/** \brief Macro automatically declaring multiline wxString property with custom priority
+/** \brief Macro automatically declaring multiline wxString property
  *  \param ClassName name of class holding this property
  *  \param VarName name of variable inside class
  *  \param PGName name used in property grid
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsdialog.cpp
===================================================================
--- plugins/contrib/wxSmith/wxwidgets/defitems/wxsdialog.cpp    (revision 4044)
+++ plugins/contrib/wxSmith/wxwidgets/defitems/wxsdialog.cpp    (working copy)
@@ -67,7 +67,8 @@
         Data,
         &Reg.Info,
         wxsDialogEvents,
-        wxsDialogStyles),
+        wxsDialogStyles,
+        flContainer&~flExtraCode),
     Title(_("Dialog")),
     Centered(true)
 {}
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsframe.cpp
===================================================================
--- plugins/contrib/wxSmith/wxwidgets/defitems/wxsframe.cpp    (revision 4044)
+++ plugins/contrib/wxSmith/wxwidgets/defitems/wxsframe.cpp    (working copy)
@@ -74,7 +74,8 @@
         Data,
         &Reg.Info,
         wxsFrameEvents,
-        wxsFrameStyles),
+        wxsFrameStyles,
+        flContainer&~flExtraCode),
     Title(_("Frame")),
     Centered(false)
 {}
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenu.cpp
===================================================================
--- plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenu.cpp    (revision 4044)
+++ plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenu.cpp    (working copy)
@@ -63,7 +63,7 @@
 }
 
 wxsMenu::wxsMenu(wxsItemResData* Data):
-    wxsTool(Data,&Reg.Info,NULL,NULL,flVariable|flSubclass)
+    wxsTool(Data,&Reg.Info,NULL,NULL,flVariable|flSubclass|flExtraCode)
 {
 }
 
@@ -220,6 +220,7 @@
                     GetVarName().c_str(),
                     m_Label.c_str());
             }
+            BuildSetupWindowCode(Code, WindowParent, Language);
             break;
 
         default:
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenubar.cpp
===================================================================
--- plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenubar.cpp    (revision 4044)
+++ plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenubar.cpp    (working copy)
@@ -67,7 +67,7 @@
         &Reg.Info,
         NULL,
         NULL,
-        flVariable|flSubclass)
+        flVariable|flSubclass|flExtraCode)
 {
 }
 
@@ -82,6 +82,7 @@
                 GetChild(i)->BuildCreatingCode(Code,WindowParent,Language);
             }
             Code << Codef(Language,_T("SetMenuBar(%v);\n"),GetVarName().c_str());
+            BuildSetupWindowCode(Code, WindowParent, Language);
             break;
 
         default:
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenueditor.cpp
===================================================================
--- plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenueditor.cpp    (revision 4044)
+++ plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenueditor.cpp    (working copy)
@@ -248,6 +248,7 @@
         ChildItem->m_Type = wxsMenuItem::Normal;
         ChildItem->m_Variable = ChildMenu->GetVarName();
         ChildItem->m_IsMember = ChildMenu->GetIsMember();
+        ChildItem->m_ExtraCode = ChildMenu->GetExtraCode();
         ChildItem->m_Label = ChildMenu->m_Label;
         ChildItem->m_Enabled = true;
         ChildItem->m_Checked = false;
@@ -272,6 +273,7 @@
     Parent->m_Type = Menu->m_Type;
     Parent->m_Variable = Menu->GetVarName();
     Parent->m_IsMember = Menu->GetIsMember();
+    Parent->m_ExtraCode = Menu->GetExtraCode();
     Parent->m_Id = Menu->GetIdName();
     Parent->m_Label = Menu->m_Label;
     Parent->m_Accelerator = Menu->m_Accelerator;
@@ -515,6 +517,7 @@
                 NewMenu->m_Label = Item->m_Label;
                 NewMenu->SetVarName(Item->m_Variable);
                 NewMenu->SetIsMember(Item->m_IsMember);
+                NewMenu->SetExtraCode(Item->m_ExtraCode);
                 m_MenuBar->AddChild(NewMenu);
                 StoreDataCopyReq(NewMenu,Item->m_Child);
             }
@@ -549,6 +552,7 @@
 
         Menu->SetVarName(Item->m_Variable);
         Menu->SetIsMember(Item->m_IsMember);
+        Menu->SetExtraCode(Item->m_ExtraCode);
         Menu->SetIdName(_T(""));
         Menu->m_Label.Clear();
         Menu->m_Accelerator.Clear();
Index: plugins/contrib/wxSmith/wxwidgets/defitems/wxsmenueditor.h
===================================================================
download for full patch...