]> git.saurik.com Git - wxWidgets.git/commitdiff
Add "checked" property for toolbar tool elements in XRC.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 20 Oct 2011 16:10:35 +0000 (16:10 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 20 Oct 2011 16:10:35 +0000 (16:10 +0000)
Allow toolbar tools to be created in checked (or toggled) state in XRC, just
as the menu items can already be created checked.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
docs/doxygen/overviews/xrc_format.h
src/xrc/xh_toolb.cpp

index 8693868a005acb93b9137005d4bca4ef4fa84429..82e9bf115518adcdb23219a32a21660d3cfd29bf 100644 (file)
@@ -487,6 +487,7 @@ All (GUI):
 - Allow converting to and from wxGraphicsBitmap and wxImage directly.
 - Allow wxGraphicsFont creation without passing by wxFont.
 - Added wxDataViewCustomRenderer::ActivateCell().
+- Add "checked" property for toolbar tool elements in XRC.
 
 OSX:
 
index 71325a6ebb096bf07d0beb2dadee37cdd831a3d2..bd7f0e659bb7ba2426780cd2b81edce71f0c7508 100644 (file)
@@ -1654,6 +1654,8 @@ properties:
     Help text shown in statusbar when the mouse is on the tool (default: none).}
 @row3col{disabled, @ref overview_xrcformat_type_bool,
      Is the tool initially disabled (default: 0)?}
+@row3col{checked, @ref overview_xrcformat_type_bool,
+     Is the tool initially checked (default: 0)? (only available since wxWidgets 2.9.3)}
 @endTable
 
 The presence of a @c dropdown property indicates that the tool is of type
index 041c8d8b66cebbf54f2ea9740b1380f04fd78e03..c6e75a361554b42b62197ee08c4ecbc28cf2ecda 100644 (file)
@@ -78,6 +78,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
 
             kind = wxITEM_CHECK;
         }
+
 #if wxUSE_MENUS
         // check whether we have dropdown tag inside
         wxMenu *menu = NULL; // menu for drop down items
@@ -137,6 +138,23 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
 
         if ( GetBool(wxT("disabled")) )
             m_toolbar->EnableTool(GetID(), false);
+
+        if ( GetBool(wxS("checked")) )
+        {
+            if ( kind == wxITEM_NORMAL )
+            {
+                ReportParamError
+                (
+                    "checked",
+                    "only <radio> nor <toggle> tools can be checked"
+                );
+            }
+            else
+            {
+                m_toolbar->ToggleTool(GetID(), true);
+            }
+        }
+
 #if wxUSE_MENUS
         if ( menu )
             tool->SetDropdownMenu(menu);