]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/auibar.cpp
fixing param
[wxWidgets.git] / src / aui / auibar.cpp
index 1abf08a60acf341addbcf637bca1b302a175cc6b..d356d353a208ebc5038f098bcf7302eace75db4e 100644 (file)
@@ -227,6 +227,21 @@ void wxAuiDefaultToolBarArt::SetTextOrientation(int orientation)
     m_text_orientation = orientation;
 }
 
+unsigned int wxAuiDefaultToolBarArt::GetFlags()
+{
+    return m_flags;
+}
+
+wxFont wxAuiDefaultToolBarArt::GetFont()
+{
+    return m_font;
+}
+
+int wxAuiDefaultToolBarArt::GetTextOrientation()
+{
+    return m_text_orientation;
+}
+
 void wxAuiDefaultToolBarArt::DrawBackground(
                                     wxDC& dc,
                                     wxWindow* WXUNUSED(wnd),
@@ -539,7 +554,13 @@ wxSize wxAuiDefaultToolBarArt::GetLabelSize(
 
     // get item's width
     width = item.GetMinSize().GetWidth();
-
+    
+    if (width == -1)
+    {
+        // no width specified, measure the text ourselves
+        width = dc.GetTextExtent(item.GetLabel()).GetX();
+    }
+    
     return wxSize(width, height);
 }
 
@@ -713,9 +734,9 @@ void wxAuiDefaultToolBarArt::SetElementSize(int element_id, int size)
 {
     switch (element_id)
     {
-        case wxAUI_TBART_SEPARATOR_SIZE: m_separator_size = size;
-        case wxAUI_TBART_GRIPPER_SIZE:   m_gripper_size = size;
-        case wxAUI_TBART_OVERFLOW_SIZE:  m_overflow_size = size;
+        case wxAUI_TBART_SEPARATOR_SIZE: m_separator_size = size; break;
+        case wxAUI_TBART_GRIPPER_SIZE:   m_gripper_size = size; break;
+        case wxAUI_TBART_OVERFLOW_SIZE:  m_overflow_size = size; break;
     }
 }
 
@@ -818,7 +839,7 @@ wxAuiToolBar::wxAuiToolBar(wxWindow* parent,
     m_gripper_sizer_item = NULL;
     m_overflow_sizer_item = NULL;
     m_dragging = false;
-    m_style = style;
+    m_style = style | wxBORDER_NONE;
     m_gripper_visible = (m_style & wxAUI_TB_GRIPPER) ? true : false;
     m_overflow_visible = (m_style & wxAUI_TB_OVERFLOW) ? true : false;
     m_overflow_state = 0;
@@ -865,6 +886,10 @@ void wxAuiToolBar::SetWindowStyleFlag(long style)
         SetToolTextOrientation(wxAUI_TBTOOL_TEXT_BOTTOM);
 }
 
+long wxAuiToolBar::GetWindowStyleFlag() const
+{
+    return m_style;
+}
 
 void wxAuiToolBar::SetArtProvider(wxAuiToolBarArt* art)
 {
@@ -931,6 +956,9 @@ wxAuiToolBarItem* wxAuiToolBar::AddTool(int tool_id,
     item.min_size = wxDefaultSize;
     item.user_data = 0;
     item.sticky = false;
+    
+    if (item.id == wxID_ANY) 
+        item.id = wxNewId(); 
 
     if (!item.disabled_bitmap.IsOk())
     {
@@ -996,6 +1024,9 @@ wxAuiToolBarItem* wxAuiToolBar::AddLabel(int tool_id,
     item.user_data = 0;
     item.sticky = false;
 
+    if (item.id == wxID_ANY) 
+        item.id = wxNewId(); 
+       
     m_items.Add(item);
     return &m_items.Last();
 }
@@ -1338,6 +1369,8 @@ void wxAuiToolBar::SetGripperVisible(bool visible)
     m_gripper_visible = visible;
     if (visible)
         m_style |= wxAUI_TB_GRIPPER;
+    else
+        m_style &= ~wxAUI_TB_GRIPPER;
     Realize();
     Refresh(false);
 }
@@ -1353,6 +1386,8 @@ void wxAuiToolBar::SetOverflowVisible(bool visible)
     m_overflow_visible = visible;
     if (visible)
         m_style |= wxAUI_TB_OVERFLOW;
+    else
+        m_style &= ~wxAUI_TB_OVERFLOW;
     Refresh(false);
 }
 
@@ -1757,7 +1792,7 @@ bool wxAuiToolBar::Realize()
                 sizer_item = sizer->Add(size.x + (m_tool_border_padding*2),
                                         size.y + (m_tool_border_padding*2),
                                         item.proportion,
-                                        wxALIGN_CENTER);
+                                        item.alignment);
                 if (i+1 < count)
                 {
                     sizer->AddSpacer(m_tool_packing);
@@ -1774,7 +1809,7 @@ bool wxAuiToolBar::Realize()
                 sizer_item = sizer->Add(size.x + (m_tool_border_padding*2),
                                         size.y + (m_tool_border_padding*2),
                                         0,
-                                        wxALIGN_CENTER);
+                                        item.alignment);
                 // add tool packing
                 if (i+1 < count)
                 {