Default constructor.
-\func{}{wxMenuBar}{\param{int}{ n}, \param{wxMenu*}{ menus[]}, \param{const wxString }{titles[]}}
+\func{}{wxMenuBar}{\param{size\_t}{ n}, \param{wxMenu*}{ menus[]}, \param{const wxString }{titles[]}, \param{long }{style = 0}}
Construct a menu bar from arrays of menus and titles.
\docparam{style}{If {\tt wxMB\_DOCKABLE} the menu bar can be detached (wxGTK only).}
\pythonnote{Only the default constructor is supported in wxPython.
-Use wxMenuBar.Append instead.}
+Use \helpref{wxMenuBar::Append}{wxmenubarappend} instead.}
\perlnote{wxPerl only supports the first constructor:
-use {\tt Append} instead.}
+use \helpref{wxMenuBar::Append}{wxmenubarappend} instead.}
\membersection{wxMenuBar::\destruct{wxMenuBar}}\label{wxmenubardtor}
public:
// ctors and dtor
wxMenuBar(long style = 0) { Create(style); }
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0)
bool Create(long style = 0);
virtual ~wxMenuBar();
// ctors
wxMenuBar();
wxMenuBar(long style);
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// implement base class (pure) virtuals
wxWindow *m_invokingWindow;
private:
+ void Init(size_t n, wxMenu *menus[], const wxString titles[], long style);
+
DECLARE_DYNAMIC_CLASS(wxMenuBar)
};
// ctors
wxMenuBar();
wxMenuBar(long style);
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// implement base class (pure) virtuals
wxWindow *m_invokingWindow;
private:
+ void Init(size_t n, wxMenu *menus[], const wxString titles[], long style);
+
DECLARE_DYNAMIC_CLASS(wxMenuBar)
};
// unused under MSW
wxMenuBar(long style);
// menubar takes ownership of the menus arrays but copies the titles
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// menubar construction
// unused under MSW
wxMenuBar(long style);
// menubar takes ownership of the menus arrays but copies the titles
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// menubar construction
public:
wxMenuBar() { Init(); }
wxMenuBar(long WXUNUSED(style)) { Init(); }
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
- wxMenuBar(int n, wxMenu *menus[], const wxArrayString& titles);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxArrayString& titles, long style = 0);
virtual ~wxMenuBar();
// implement base class (pure) virtuals
// unused under MSW
wxMenuBar(long style);
// menubar takes ownership of the menus arrays but copies the titles
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// menubar construction
wxMenuBar( int n
,wxMenu* vMenus[]
,const wxString sTitles[]
+ ,long lStyle = 0
);
virtual ~wxMenuBar();
wxMenuBar(long style);
// menubar takes ownership of the menus arrays but copies the titles
- wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
virtual ~wxMenuBar();
// menubar construction
public:
// ctors and dtor
wxMenuBar(long WXUNUSED(style) = 0) { Init(); }
+ wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0)
virtual ~wxMenuBar();
// implement base class virtuals
return true;
}
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
+{
+ Create(style);
+
+ for(size_t i = 0; i < n; ++i )
+ Append(menus[i], titles[i]);
+}
+
wxMenuBar::~wxMenuBar()
{
[m_cocoaNSMenu release];
IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow)
-wxMenuBar::wxMenuBar( long style )
+void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long style)
{
// the parent window is known after wxFrame::SetMenu()
m_needParent = FALSE;
PostCreation();
ApplyWidgetStyle();
+
+ for (size_t i = 0; i < n; ++i )
+ Append(menus[i], titles[i]);
}
-wxMenuBar::wxMenuBar()
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style)
{
- // the parent window is known after wxFrame::SetMenu()
- m_needParent = FALSE;
- m_style = 0;
- m_invokingWindow = (wxWindow*) NULL;
-
- if (!PreCreation( (wxWindow*) NULL, wxDefaultPosition, wxDefaultSize ) ||
- !CreateBase( (wxWindow*) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("menubar") ))
- {
- wxFAIL_MSG( wxT("wxMenuBar creation failed") );
- return;
- }
-
- m_menubar = gtk_menu_bar_new();
-#ifndef __WXGTK20__
- m_accel = gtk_accel_group_new();
-#endif
-
- m_widget = GTK_WIDGET(m_menubar);
+ Init(n, menus, titles, style);
+}
- PostCreation();
+wxMenuBar::wxMenuBar(long style)
+{
+ Init(0, NULL, NULL, style);
+}
- ApplyWidgetStyle();
+wxMenuBar::wxMenuBar()
+{
+ Init(0, NULL, NULL, 0);
}
wxMenuBar::~wxMenuBar()
IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow)
-wxMenuBar::wxMenuBar( long style )
+void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long style)
{
// the parent window is known after wxFrame::SetMenu()
m_needParent = FALSE;
PostCreation();
ApplyWidgetStyle();
+
+ for (size_t i = 0; i < n; ++i )
+ Append(menus[i], titles[i]);
}
-wxMenuBar::wxMenuBar()
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style)
{
- // the parent window is known after wxFrame::SetMenu()
- m_needParent = FALSE;
- m_style = 0;
- m_invokingWindow = (wxWindow*) NULL;
-
- if (!PreCreation( (wxWindow*) NULL, wxDefaultPosition, wxDefaultSize ) ||
- !CreateBase( (wxWindow*) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("menubar") ))
- {
- wxFAIL_MSG( wxT("wxMenuBar creation failed") );
- return;
- }
-
- m_menubar = gtk_menu_bar_new();
-#ifndef __WXGTK20__
- m_accel = gtk_accel_group_new();
-#endif
-
- m_widget = GTK_WIDGET(m_menubar);
+ Init(n, menus, titles, style);
+}
- PostCreation();
+wxMenuBar::wxMenuBar(long style)
+{
+ Init(0, NULL, NULL, style);
+}
- ApplyWidgetStyle();
+wxMenuBar::wxMenuBar()
+{
+ Init(0, NULL, NULL, 0);
}
wxMenuBar::~wxMenuBar()
}
-wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t count, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
Init();
}
-wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t count, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
Init();
m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
}
-wxMenuBar::wxMenuBar(int n, wxMenu *menus[], const wxArrayString& titles)
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxArrayString& titles, long WXUNUSED(style))
{
wxASSERT( size_t(n) == titles.GetCount() );
m_menus.Append(menus[i]);
}
-wxMenuBar::wxMenuBar(int n, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
Init();
Init();
}
-wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t count, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
Init();
int nCount
, wxMenu* vMenus[]
, const wxString sTitles[]
+, long WXUNUSED(lStyle)
)
{
Init();
{
}
-wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t count, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
}
m_shouldShowMenu = false;
}
+wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
+{
+ Init();
+
+ for (size_t i = 0; i < n; ++i )
+ Append(menus[i], titles[i]);
+}
+
void wxMenuBar::Attach(wxFrame *frame)
{
// maybe you really wanted to call Detach()?