]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
HP-UX gcc compilation fixes
[wxWidgets.git] / src / msw / notebook.cpp
index eed57498e9bc3df494b873884fe2d8254a0f5c1b..eb551853d5318c6bebf6d3ee23ff6b19125bc49e 100644 (file)
   BEGIN_EVENT_TABLE(wxNotebook, wxControl)
     EVT_NOTEBOOK_PAGE_CHANGED(-1, wxNotebook::OnSelChange)
 
-    EVT_SIZE(wxNotebook::OnSize)
-    EVT_ERASE_BACKGROUND(wxNotebook::OnEraseBackground)
+    // doesn't work yet EVT_WINDOW_CREATE(wxNotebook::OnWindowCreate)
+    EVT_SIZE(wxNotebook::OnWindowCreate)
+
     EVT_SET_FOCUS(wxNotebook::OnSetFocus)
+
     EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
   END_EVENT_TABLE()
 
@@ -121,10 +123,7 @@ bool wxNotebook::Create(wxWindow *parent,
                         const wxString& name)
 {
   // base init
-  SetName(name);
-  SetParent(parent);
-
-  m_windowId = id == -1 ? NewControlId() : id;
+  CreateBase(parent, id, pos, size, style, name);
 
   // colors and font
   m_backgroundColour = wxColour(GetSysColor(COLOR_BTNFACE));
@@ -164,7 +163,6 @@ bool wxNotebook::Create(wxWindow *parent,
   }
 
   // Not all compilers recognise SetWindowFont
-//  SetWindowFont((HWND)m_hwnd, ::GetStockObject(DEFAULT_GUI_FONT), FALSE);
   ::SendMessage((HWND) m_hwnd, WM_SETFONT,
                   (WPARAM)::GetStockObject(DEFAULT_GUI_FONT),TRUE);
 
@@ -272,6 +270,14 @@ void wxNotebook::SetImageList(wxImageList* imageList)
   TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST());
 }
 
+
+// Windows-only at present. Also, you must use the wxNB_FIXEDWIDTH
+// style.
+void wxNotebook::SetTabSize(const wxSize& sz)
+{
+    ::SendMessage(GetHwnd(), TCM_SETITEMSIZE, 0, MAKELPARAM(sz.x, sz.y));
+}
+
 // ----------------------------------------------------------------------------
 // wxNotebook operations
 // ----------------------------------------------------------------------------
@@ -371,9 +377,12 @@ bool wxNotebook::InsertPage(int nPage,
     m_nSelection = 0;
 
   // don't show pages by default (we'll need to adjust their size first)
-  HWND hwnd = (HWND)pPage->GetHWND();
+  HWND hwnd = GetWinHwnd(pPage);
   SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_VISIBLE);
 
+  // this updates internal flag too - otherwise it will get out of sync
+  pPage->Show(FALSE);
+
   return TRUE;
 }
 
@@ -381,7 +390,7 @@ bool wxNotebook::InsertPage(int nPage,
 // wxNotebook callbacks
 // ----------------------------------------------------------------------------
 
-void wxNotebook::OnSize(wxSizeEvent& event)
+void wxNotebook::OnWindowCreate(wxWindowCreateEvent& event)
 {
   // make sure the current page is shown and has focus (it's useful because all
   // pages are created invisible initially)
@@ -459,11 +468,6 @@ bool wxNotebook::DoPhase(int /* nPhase */)
   return TRUE;
 }
 
-void wxNotebook::Command(wxCommandEvent& event)
-{
-  wxFAIL_MSG("wxNotebook::Command not implemented");
-}
-
 bool wxNotebook::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result)
 {
   wxNotebookEvent event(wxEVT_NULL, m_windowId);
@@ -538,16 +542,3 @@ void wxNotebook::ChangePage(int nOldSel, int nSel)
   m_nSelection = nSel;
   s_bInsideChangePage = FALSE;
 }
-
-void wxNotebook::OnEraseBackground(wxEraseEvent& event)
-{
-    Default();
-}
-
-// Windows-only at present. Also, you must use the wxNB_FIXEDWIDTH
-// style.
-void wxNotebook::SetTabSize(const wxSize& sz)
-{
-    ::SendMessage((HWND) GetHWND(), TCM_SETITEMSIZE, 0, MAKELPARAM(sz.x, sz.y));
-}
-