]> git.saurik.com Git - wxWidgets.git/commitdiff
Doc mods, sash window bug
authorJulian Smart <julian@anthemion.co.uk>
Fri, 29 Jan 1999 17:22:47 +0000 (17:22 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 29 Jan 1999 17:22:47 +0000 (17:22 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/docchfrm.tex
docs/latex/wx/docmdich.tex
docs/latex/wx/docmdipr.tex
docs/latex/wx/docprfrm.tex
docs/latex/wx/doctempl.tex
docs/latex/wx/view.tex
src/generic/gridg.cpp
src/generic/sashwin.cpp
utils/dialoged/src/winprop.cpp

index 37479e12bf44072c5e3d12499d8d77179f7e0f89..1c03f019350bae49f9ccc9b14cd870c235be7b83 100644 (file)
@@ -61,15 +61,15 @@ Returns the view associated with this frame.
 
 \membersection{wxDocChildFrame::OnActivate}
 
-\func{void}{OnActivate}{\param{bool}{ active}}
+\func{void}{OnActivate}{\param{wxActivateEvent}{ event}}
 
 Sets the currently active view to be the frame's view. You may need
 to override (but still call) this function in order to set the keyboard
 focus for your subwindow.
 
-\membersection{wxDocChildFrame::OnClose}
+\membersection{wxDocChildFrame::OnCloseWindow}
 
-\func{virtual bool}{OnClose}{\void}
+\func{void}{OnCloseWindow}{\param{wxCloseEvent\&}{ event}}
 
 Closes and deletes the current view and document.
 
index b9b16ac7402be8adb35af7725b6fc25cb7a93593..63c86d32f7de6402356ee349b961a212d2e0969d 100644 (file)
@@ -62,15 +62,15 @@ Returns the view associated with this frame.
 
 \membersection{wxDocMDIChildFrame::OnActivate}
 
-\func{void}{OnActivate}{\param{bool}{ active}}
+\func{void}{OnActivate}{\param{wxActivateEvent}{ event}}
 
 Sets the currently active view to be the frame's view. You may need
 to override (but still call) this function in order to set the keyboard
 focus for your subwindow.
 
-\membersection{wxDocMDIChildFrame::OnClose}
+\membersection{wxDocMDIChildFrame::OnCloseWindow}
 
-\func{virtual bool}{OnClose}{\void}
+\func{void}{OnCloseWindow}{\param{wxCloseEvent\&}{ event}}
 
 Closes and deletes the current view and document.
 
index 5bb084dcfe5ce2bb4f4e5105150b77cab4809391..3730dc9d9ecced09e8235368d763a363773e4949 100644 (file)
@@ -24,9 +24,10 @@ See the example application in {\tt samples/docview}.
 
 \membersection{wxDocMDIParentFrame::wxDocMDIParentFrame}
 
-\func{}{wxDocMDIParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
- \param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
- \param{long}{ style}, \param{const wxString\& }{name}}
+\func{}{wxDocParentFrame}{\param{wxDocManager*}{ manager}, \param{wxFrame *}{parent}, \param{wxWindowID}{ id},
+ \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
+ \param{const wxSize\&}{ size = wxDefaultSize},
+ \param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = "frame"}}
 
 Constructor.
 
@@ -36,44 +37,25 @@ Constructor.
 
 Destructor.
 
-\membersection{wxDocMDIParentFrame::OnClose}
+\membersection{wxDocMDIParentFrame::OnCloseWindow}
 
-\func{bool}{OnClose}{\void}
+\func{void}{OnCloseWindow}{\param{wxCloseEvent\&}{ event}}
 
 Deletes all views and documents. If no user input cancelled the
-operation, the function returns TRUE and the application will exit.
+operation, the frame will be destroyed and the application will exit.
 
 Since understanding how document/view clean-up takes place can be difficult,
 the implementation of this function is shown below.
 
 \begin{verbatim}
-bool wxDocMDIParentFrame::OnClose(void)
+void wxDocParentFrame::OnCloseWindow(wxCloseEvent& event)
 {
-  // Delete all views and documents
-  wxNode *node = docManager->GetDocuments().First();
-  while (node)
+  if (m_docManager->Clear(!event.CanVeto()))
   {
-    wxDocument *doc = (wxDocument *)node->Data();
-    wxNode *next = node->Next();
-
-    if (!doc->Close())
-      return FALSE;
-
-    // Implicitly deletes the document when the last
-    // view is removed (deleted)
-    doc->DeleteAllViews();
-
-    // Check document is deleted
-    if (docManager->GetDocuments().Member(doc))
-      delete doc;
-
-    // This assumes that documents are not connected in
-    // any way, i.e. deleting one document does NOT
-    // delete another.
-    node = next;
+    this->Destroy();
   }
-  return TRUE;
+  else
+    event.Veto();
 }
 \end{verbatim}
 
-
index f0eff917decf7a9ace5a8440a52fb5c33043ee0f..a39c6d55a212bc077543a50c9b460674c68f21cf 100644 (file)
@@ -23,9 +23,10 @@ See the example application in {\tt samples/docview}.
 
 \membersection{wxDocParentFrame::wxDocParentFrame}
 
-\func{}{wxDocParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
- \param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
- \param{long}{ style}, \param{const wxString\& }{name}}
+\func{}{wxDocParentFrame}{\param{wxDocManager*}{ manager}, \param{wxFrame *}{parent}, \param{wxWindowID}{ id},
+ \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
+ \param{const wxSize\&}{ size = wxDefaultSize},
+ \param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = "frame"}}
 
 Constructor.
 
@@ -35,44 +36,25 @@ Constructor.
 
 Destructor.
 
-\membersection{wxDocParentFrame::OnClose}
+\membersection{wxDocParentFrame::OnCloseWindow}
 
-\func{bool}{OnClose}{\void}
+\func{void}{OnCloseWindow}{\param{wxCloseEvent\&}{ event}}
 
 Deletes all views and documents. If no user input cancelled the
-operation, the function returns TRUE and the application will exit.
+operation, the frame will be destroyed and the application will exit.
 
 Since understanding how document/view clean-up takes place can be difficult,
 the implementation of this function is shown below.
 
 \begin{verbatim}
-bool wxDocParentFrame::OnClose(void)
+void wxDocParentFrame::OnCloseWindow(wxCloseEvent& event)
 {
-  // Delete all views and documents
-  wxNode *node = docManager->GetDocuments().First();
-  while (node)
+  if (m_docManager->Clear(!event.CanVeto()))
   {
-    wxDocument *doc = (wxDocument *)node->Data();
-    wxNode *next = node->Next();
-
-    if (!doc->Close())
-      return FALSE;
-
-    // Implicitly deletes the document when the last
-    // view is removed (deleted)
-    doc->DeleteAllViews();
-
-    // Check document is deleted
-    if (docManager->GetDocuments().Member(doc))
-      delete doc;
-
-    // This assumes that documents are not connected in
-    // any way, i.e. deleting one document does NOT
-    // delete another.
-    node = next;
+    this->Destroy();
   }
-  return TRUE;
+  else
+    event.Veto();
 }
 \end{verbatim}
 
-
index daae6ace6188d19a970bf4fc3e510c3ed96fd743..e4bd82ef7d1bfb47ddee0b25ca6bf7e2fde59fde 100644 (file)
@@ -230,4 +230,3 @@ Sets the file filter.
 
 Sets the internal document template flags (see the constructor description for more details).
 
-
index f8ec2b2ebcf01b71f20117fa1cd590d073670258..139269555d4d2bf0820666a3d281a828806df1d5 100644 (file)
@@ -2,7 +2,7 @@
 
 The view class can be used to model the viewing and editing component of
 an application's file-based data. It is part of the document/view framework supported by wxWindows,
-and cooperates with the \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate}
+and cooperates with the \helpref{wxDocument}{wxdocument}, \helpref{wxDocTemplate}{wxdoctemplate} 
 and \helpref{wxDocManager}{wxdocmanager} classes.
 
 \wxheading{Derived from}
index 0747e1917fbb960ba6bdc86f99359410f9636650..34da5b84a3fcbca84aed29c87136d838bac93be9 100644 (file)
@@ -222,6 +222,8 @@ bool wxGenericGrid::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos,
   m_hScrollBar = new wxScrollBar(this, wxGRID_HSCROLL, wxPoint(0, 0), wxSize(20, 100), wxHORIZONTAL);
   m_vScrollBar = new wxScrollBar(this, wxGRID_VSCROLL, wxPoint(0, 0), wxSize(100, 20), wxVERTICAL);
 
+  SetSize(-1, -1, size.x, size.y);
+
   return TRUE;
 }
 
index 2553c9f70044d3224dd4d0d565983729c941e3e3..35dc510806908fef76d6dee9074cff4cd633e2d0 100644 (file)
@@ -324,7 +324,7 @@ wxSashEdgePosition wxSashWindow::SashHitTest(int x, int y, int WXUNUSED(toleranc
                 }
                 case wxSASH_LEFT:
                 {
-                    if ((x >= GetEdgeMargin(position)) && (x >= 0))
+                    if ((x <= GetEdgeMargin(position)) && (x >= 0))
                         return wxSASH_LEFT;
                     break;
                 }
index 5985d0adc77246d50393699fa1b7e1018676eb99..4f3a64b6f5752348cfe0ad5c15cd59ae8d8028e4 100644 (file)
@@ -1829,12 +1829,16 @@ bool wxScrollBarPropertyInfo::SetProperty(wxString& name, wxProperty *property)
     scrollBar->SetWindowStyleFlag(windowStyle);
     
     // If the window style has changed, we swap the width and height parameters.
-    int w, h;
-    scrollBar->GetSize(&w, &h);
-    
+//    int w, h;
+//    scrollBar->GetSize(&w, &h);
+    wxItemResource     *item = wxResourceManager::GetCurrentResourceManager()->FindResourceForWindow(scrollBar);
+       if ( item ) {
+               item->SetSize(item->GetX(), item->GetY(), item->GetHeight(), item->GetWidth());
+               item->SetStyle(windowStyle);
+       } /* IF */
+
     scrollBar = (wxScrollBar *)wxResourceManager::GetCurrentResourceManager()->RecreateWindowFromResource(scrollBar, this);
-    scrollBar->SetSize(-1, -1, h, w);
-    
+
     return TRUE;
   }
   else if (name == "pageSize")