]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/samples/ogl/studio/view.cpp
fixed previous revision: call wxControl's, not wxButton's DoGetBestSize
[wxWidgets.git] / contrib / samples / ogl / studio / view.cpp
index c00189d947aa0142bd3f360477bb178f34c38e3b..f3073fc44a521952eda26724d692da84251b0506 100644 (file)
@@ -95,7 +95,7 @@ bool csDiagramView::OnCreate(wxDocument *doc, long WXUNUSED(flags))
   canvas->SetView(this);
 
   SetFrame(frame);
-  Activate(TRUE);
+  Activate(true);
 
   // Initialize the edit menu Undo and Redo items
   doc->GetCommandProcessor()->SetEditMenu(editMenu);
@@ -112,12 +112,12 @@ bool csDiagramView::OnCreate(wxDocument *doc, long WXUNUSED(flags))
     {
         case csGRID_STYLE_NONE:
         {
-            diagramDoc->GetDiagram()->SetSnapToGrid(FALSE);
+            diagramDoc->GetDiagram()->SetSnapToGrid(false);
             break;
         }
         case csGRID_STYLE_INVISIBLE:
         {
-            diagramDoc->GetDiagram()->SetSnapToGrid(TRUE);
+            diagramDoc->GetDiagram()->SetSnapToGrid(true);
             break;
         }
         case csGRID_STYLE_DOTTED:
@@ -128,7 +128,7 @@ bool csDiagramView::OnCreate(wxDocument *doc, long WXUNUSED(flags))
     }
 
 
-  return TRUE;
+  return true;
 }
 
 csDiagramView::~csDiagramView(void)
@@ -155,7 +155,7 @@ void csDiagramView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint))
 bool csDiagramView::OnClose(bool deleteWindow)
 {
   if (!GetDocument()->Close())
-    return FALSE;
+    return false;
 
   csDiagramDocument *diagramDoc = (csDiagramDocument *)GetDocument();
   diagramDoc->GetDiagram()->SetCanvas(NULL);
@@ -170,15 +170,15 @@ bool csDiagramView::OnClose(bool deleteWindow)
   // Remove file menu from those managed by the command history
   wxGetApp().GetDocManager()->FileHistoryRemoveMenu(fileMenu);
 
-  Activate(FALSE);
-  frame->Show(FALSE);
+  Activate(false);
+  frame->Show(false);
 
   if (deleteWindow)
   {
     frame->Destroy();
   }
 
-  return TRUE;
+  return true;
 }
 
 // Adds or removes shape from m_selections
@@ -192,39 +192,37 @@ void csDiagramView::SelectShape(wxShape* shape, bool select)
 
 void csDiagramView::OnSelectAll(wxCommandEvent& WXUNUSED(event))
 {
-    SelectAll(TRUE);
+    SelectAll(true);
 }
 
 wxShape *csDiagramView::FindFirstSelectedShape(void)
 {
   csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
-  wxShape *theShape = NULL;
-  wxNode *node = doc->GetDiagram()->GetShapeList()->First();
+  wxObjectList::compatibility_iterator node = doc->GetDiagram()->GetShapeList()->GetFirst();
   while (node)
   {
-    wxShape *eachShape = (wxShape *)node->Data();
+    wxShape *eachShape = (wxShape *)node->GetData();
     if ((eachShape->GetParent() == NULL) && !eachShape->IsKindOf(CLASSINFO(wxLabelShape)) && eachShape->Selected())
     {
-      theShape = eachShape;
-      node = NULL;
+      return eachShape;
     }
-    else node = node->Next();
+    else node = node->GetNext();
   }
-  return theShape;
+  return NULL;
 }
 
 void csDiagramView::FindSelectedShapes(wxList& selections, wxClassInfo* toFind)
 {
   csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
-  wxNode *node = doc->GetDiagram()->GetShapeList()->First();
+  wxObjectList::compatibility_iterator node = doc->GetDiagram()->GetShapeList()->GetFirst();
   while (node)
   {
-    wxShape *eachShape = (wxShape *)node->Data();
+    wxShape *eachShape = (wxShape *)node->GetData();
     if ((eachShape->GetParent() == NULL) && !eachShape->IsKindOf(CLASSINFO(wxLabelShape)) && eachShape->Selected() && ((toFind == NULL) || (eachShape->IsKindOf(toFind))))
     {
       selections.Append(eachShape);
     }
-    node = node->Next();
+    node = node->GetNext();
   }
 }
 
@@ -296,17 +294,17 @@ void csDiagramView::OnDuplicate(wxCommandEvent& WXUNUSED(event))
 
 void csDiagramView::OnCutUpdate(wxUpdateUIEvent& event)
 {
-    event.Enable( (m_selections.Number() > 0) );
+    event.Enable( (m_selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnClearUpdate(wxUpdateUIEvent& event)
 {
-    event.Enable( (m_selections.Number() > 0) );
+    event.Enable( (m_selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnCopyUpdate(wxUpdateUIEvent& event)
 {
-    event.Enable( (m_selections.Number() > 0) );
+    event.Enable( (m_selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnPasteUpdate(wxUpdateUIEvent& event)
@@ -320,21 +318,21 @@ void csDiagramView::OnPasteUpdate(wxUpdateUIEvent& event)
 
 void csDiagramView::OnDuplicateUpdate(wxUpdateUIEvent& event)
 {
-    event.Enable( (m_selections.Number() > 0) );
+    event.Enable( (m_selections.GetCount() > 0) );
 }
 
 void csDiagramView::DoCut(wxList& shapes)
 {
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
 
-    if (shapes.Number() > 0)
+    if (shapes.GetCount() > 0)
     {
         csDiagramCommand* cmd = new csDiagramCommand(_T("Cut"), doc);
 
-        wxNode* node = shapes.First();
+        wxObjectList::compatibility_iterator node = shapes.GetFirst();
         while (node)
         {
-            wxShape *theShape = (wxShape*) node->Data();
+            wxShape *theShape = (wxShape*) node->GetData();
             csCommandState* state = new csCommandState(ID_CS_CUT, NULL, theShape);
 
             // Insert lines at the front, so they are cut first.
@@ -345,7 +343,7 @@ void csDiagramView::DoCut(wxList& shapes)
             else
                 cmd->AddState(state);
 
-            node = node->Next();
+            node = node->GetNext();
         }
         cmd->RemoveLines(); // Schedule any connected lines, not already mentioned,
                             // to be removed first
@@ -359,21 +357,21 @@ void csDiagramView::DoCmd(wxList& shapes, wxList& oldShapes, int cmd, const wxSt
 {
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
 
-    if (shapes.Number() > 0)
+    if (shapes.GetCount() > 0)
     {
         csDiagramCommand* command = new csDiagramCommand(op, doc);
 
-        wxNode* node = shapes.First();
-        wxNode* node1 = oldShapes.First();
+        wxObjectList::compatibility_iterator node = shapes.GetFirst();
+        wxObjectList::compatibility_iterator node1 = oldShapes.GetFirst();
         while (node && node1)
         {
-            wxShape *theShape = (wxShape*) node->Data();
-            wxShape *oldShape = (wxShape*) node1->Data();
+            wxShape *theShape = (wxShape*) node->GetData();
+            wxShape *oldShape = (wxShape*) node1->GetData();
             csCommandState* state = new csCommandState(cmd, theShape, oldShape);
             command->AddState(state);
 
-            node = node->Next();
-            node1 = node1->Next();
+            node = node->GetNext();
+            node1 = node1->GetNext();
         }
         doc->GetCommandProcessor()->Submit(command);
     }
@@ -386,13 +384,13 @@ void csDiagramView::OnChangeBackgroundColour(wxCommandEvent& WXUNUSED(event))
     wxList selections;
     FindSelectedShapes(selections);
 
-    if (selections.Number() > 0)
+    if (selections.GetCount() > 0)
     {
         wxColourData data;
-        data.SetChooseFull(TRUE);
-        if (selections.Number() == 1)
+        data.SetChooseFull(true);
+        if (selections.GetCount() == 1)
         {
-            wxShape* firstShape = (wxShape*) selections.First()->Data();
+            wxShape* firstShape = (wxShape*) selections.GetFirst()->GetData();
             data.SetColour(firstShape->GetBrush()->GetColour());
         }
 
@@ -404,23 +402,23 @@ void csDiagramView::OnChangeBackgroundColour(wxCommandEvent& WXUNUSED(event))
           wxColour col = retData.GetColour();
           theBrush = wxTheBrushList->FindOrCreateBrush(col, wxSOLID);
         }
-        dialog->Close(TRUE);
+        dialog->Close(true);
         if (!theBrush)
             return;
 
         csDiagramCommand* cmd = new csDiagramCommand(_T("Change colour"), doc);
 
-        wxNode* node = selections.First();
+        wxObjectList::compatibility_iterator node = selections.GetFirst();
         while (node)
         {
-            wxShape *theShape = (wxShape*) node->Data();
+            wxShape *theShape = (wxShape*) node->GetData();
             wxShape* newShape = theShape->CreateNewCopy();
             newShape->SetBrush(theBrush);
 
             csCommandState* state = new csCommandState(ID_CS_CHANGE_BACKGROUND_COLOUR, newShape, theShape);
             cmd->AddState(state);
 
-            node = node->Next();
+            node = node->GetNext();
         }
         doc->GetCommandProcessor()->Submit(cmd);
     }
@@ -437,7 +435,7 @@ void csDiagramView::OnEditPropertiesUpdate(wxUpdateUIEvent& event)
 {
     wxList selections;
     FindSelectedShapes(selections);
-    event.Enable( (selections.Number() > 0) );
+    event.Enable( (selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnPointSizeComboSel(wxCommandEvent& event)
@@ -475,14 +473,14 @@ void csDiagramView::ApplyPointSize(int pointSize)
     wxList selections;
     FindSelectedShapes(selections);
 
-    if (selections.Number() > 0)
+    if (selections.GetCount() > 0)
     {
         csDiagramCommand* cmd = new csDiagramCommand(_T("Point size"), doc);
 
-        wxNode* node = selections.First();
+        wxObjectList::compatibility_iterator node = selections.GetFirst();
         while (node)
         {
-            wxShape *theShape = (wxShape*) node->Data();
+            wxShape *theShape = (wxShape*) node->GetData();
             wxShape *newShape = theShape->CreateNewCopy();
 
             wxFont* newFont = wxTheFontList->FindOrCreateFont(pointSize,
@@ -498,7 +496,7 @@ void csDiagramView::ApplyPointSize(int pointSize)
 
             cmd->AddState(state);
 
-            node = node->Next();
+            node = node->GetNext();
         }
         doc->GetCommandProcessor()->Submit(cmd);
     }
@@ -531,31 +529,31 @@ void csDiagramView::SelectAll(bool select)
         wxList selections;
         FindSelectedShapes(selections);
 
-        wxNode* node = selections.First();
+        wxObjectList::compatibility_iterator node = selections.GetFirst();
         while (node)
         {
-            wxShape *theShape = (wxShape*) node->Data();
-            theShape->Select(FALSE, &dc);
-            SelectShape(theShape, FALSE);
+            wxShape *theShape = (wxShape*) node->GetData();
+            theShape->Select(false, &dc);
+            SelectShape(theShape, false);
 
-            node = node->Next();
+            node = node->GetNext();
         }
     }
     else
     {
         csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
-        wxNode *node = doc->GetDiagram()->GetShapeList()->First();
+        wxObjectList::compatibility_iterator node = doc->GetDiagram()->GetShapeList()->GetFirst();
         while (node)
         {
-            wxShape *eachShape = (wxShape *)node->Data();
+            wxShape *eachShape = (wxShape *)node->GetData();
             if (eachShape->GetParent() == NULL &&
                 !eachShape->IsKindOf(CLASSINFO(wxControlPoint)) &&
                 !eachShape->IsKindOf(CLASSINFO(wxLabelShape)))
             {
-                eachShape->Select(TRUE, &dc);
-                SelectShape(eachShape, TRUE);
+                eachShape->Select(true, &dc);
+                SelectShape(eachShape, true);
             }
-            node = node->Next();
+            node = node->GetNext();
         }
     }
 }
@@ -575,20 +573,20 @@ void csDiagramView::OnToggleArrowTool(wxCommandEvent& WXUNUSED(event))
     wxList selections;
     FindSelectedShapes(selections, CLASSINFO(wxLineShape));
 
-    if (selections.Number() > 0)
+    if (selections.GetCount() > 0)
     {
         csDiagramCommand* cmd = new csDiagramCommand(stateName, doc);
 
-        wxNode* node = selections.First();
+        wxObjectList::compatibility_iterator node = selections.GetFirst();
         while (node)
         {
-            wxLineShape *theShape = (wxLineShape*) node->Data();
+            wxLineShape *theShape = (wxLineShape*) node->GetData();
             wxLineShape *newShape = NULL;
 
             if (state)
             {
                 // Add arrow
-                if (theShape->GetArrows().Number() == 0)
+                if (theShape->GetArrows().GetCount() == 0)
                 {
                     newShape = (wxLineShape*) theShape->CreateNewCopy();
                     newShape->AddArrow(ARROW_ARROW, ARROW_POSITION_MIDDLE, 10.0, 0.0, _T("Normal arrowhead"));
@@ -596,7 +594,7 @@ void csDiagramView::OnToggleArrowTool(wxCommandEvent& WXUNUSED(event))
             }
             else
             {
-                if (theShape->GetArrows().Number() > 0)
+                if (theShape->GetArrows().GetCount() > 0)
                 {
                     newShape = (wxLineShape*) theShape->CreateNewCopy();
                     newShape->ClearArrowsAtPosition();
@@ -610,7 +608,7 @@ void csDiagramView::OnToggleArrowTool(wxCommandEvent& WXUNUSED(event))
                 cmd->AddState(state);
             }
 
-            node = node->Next();
+            node = node->GetNext();
         }
         doc->GetCommandProcessor()->Submit(cmd);
     }
@@ -620,7 +618,7 @@ void csDiagramView::OnToggleArrowToolUpdate(wxUpdateUIEvent& event)
 {
     wxList selections;
     FindSelectedShapes(selections, CLASSINFO(wxLineShape));
-    event.Enable( (selections.Number() > 0) );
+    event.Enable( (selections.GetCount() > 0) );
 }
 
 // Make the point size combobox reflect this
@@ -633,14 +631,14 @@ void csDiagramView::ReflectPointSize(int pointSize)
 // Make the arrow toggle button reflect the state of the line
 void csDiagramView::ReflectArrowState(wxLineShape* lineShape)
 {
-    bool haveArrow = FALSE;
-    wxNode *node = lineShape->GetArrows().First();
+    bool haveArrow = false;
+    wxObjectList::compatibility_iterator node = lineShape->GetArrows().GetFirst();
     while (node)
     {
-      wxArrowHead *arrow = (wxArrowHead *)node->Data();
+      wxArrowHead *arrow = (wxArrowHead *)node->GetData();
       if (ARROW_POSITION_MIDDLE == arrow->GetArrowEnd())
-        haveArrow = TRUE;
-      node = node->Next();
+        haveArrow = true;
+      node = node->GetNext();
     }
 
     wxGetApp().GetDiagramToolBar()->ToggleTool(DIAGRAM_TOOLBAR_LINE_ARROW, haveArrow);
@@ -651,35 +649,35 @@ void csDiagramView::OnAlign(wxCommandEvent& event)
     // Make a copy of the selections, keeping only those shapes
     // that are top-level non-line shapes.
     wxList selections;
-    wxNode* node = GetSelectionList().First();
+    wxObjectList::compatibility_iterator node = GetSelectionList().GetFirst();
     while (node)
     {
-        wxShape* shape = (wxShape*) node->Data();
+        wxShape* shape = (wxShape*) node->GetData();
         if ((shape->GetParent() == NULL) && (!shape->IsKindOf(CLASSINFO(wxLineShape))))
         {
             selections.Append(shape);
         }
-        node = node->Next();
+        node = node->GetNext();
     }
 
-    if (selections.Number() == 0)
+    if (selections.GetCount() == 0)
         return;
 
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
     csDiagramCommand* cmd = new csDiagramCommand(_T("Align"), doc);
 
-    node = selections.First();
-    wxShape* firstShape = (wxShape*) node->Data();
+    node = selections.GetFirst();
+    wxShape* firstShape = (wxShape*) node->GetData();
 
     double x = firstShape->GetX();
     double y = firstShape->GetY();
     double width, height;
     firstShape->GetBoundingBoxMax(&width, &height);
 
-    node = selections.First();
+    node = selections.GetFirst();
     while (node)
     {
-        wxShape* shape = (wxShape*) node->Data();
+        wxShape* shape = (wxShape*) node->GetData();
         if (shape != firstShape)
         {
             /* double x1 = */ shape->GetX();
@@ -734,7 +732,7 @@ void csDiagramView::OnAlign(wxCommandEvent& event)
             csCommandState* state = new csCommandState(ID_CS_ALIGN, newShape, shape);
             cmd->AddState(state);
         }
-        node = node->Next();
+        node = node->GetNext();
     }
     doc->GetCommandProcessor()->Submit(cmd);
 }
@@ -743,7 +741,7 @@ void csDiagramView::OnAlignUpdate(wxUpdateUIEvent& event)
 {
     // This is an approximation, since there may be lines
     // amongst the selections.
-    event.Enable( (m_selections.Number() > 1) ) ;
+    event.Enable( (m_selections.GetCount() > 1) ) ;
 }
 
 void csDiagramView::OnNewLinePoint(wxCommandEvent& WXUNUSED(event))
@@ -751,10 +749,10 @@ void csDiagramView::OnNewLinePoint(wxCommandEvent& WXUNUSED(event))
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
     csDiagramCommand* cmd = new csDiagramCommand(_T("New line point"), doc);
 
-    wxNode* node = m_selections.First();
+    wxObjectList::compatibility_iterator node = m_selections.GetFirst();
     while (node)
     {
-        wxShape* shape = (wxShape*) node->Data();
+        wxShape* shape = (wxShape*) node->GetData();
         if (shape->IsKindOf(CLASSINFO(wxLineShape)))
         {
             wxShape* newShape = shape->CreateNewCopy();
@@ -762,7 +760,7 @@ void csDiagramView::OnNewLinePoint(wxCommandEvent& WXUNUSED(event))
             csCommandState* state = new csCommandState(ID_CS_NEW_POINT, newShape, shape);
             cmd->AddState(state);
         }
-        node = node->Next();
+        node = node->GetNext();
     }
     doc->GetCommandProcessor()->Submit(cmd);
 }
@@ -772,10 +770,10 @@ void csDiagramView::OnCutLinePoint(wxCommandEvent& WXUNUSED(event))
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
     csDiagramCommand* cmd = new csDiagramCommand(_T("Cut line point"), doc);
 
-    wxNode* node = m_selections.First();
+    wxObjectList::compatibility_iterator node = m_selections.GetFirst();
     while (node)
     {
-        wxShape* shape = (wxShape*) node->Data();
+        wxShape* shape = (wxShape*) node->GetData();
         if (shape->IsKindOf(CLASSINFO(wxLineShape)))
         {
             wxShape* newShape = shape->CreateNewCopy();
@@ -783,7 +781,7 @@ void csDiagramView::OnCutLinePoint(wxCommandEvent& WXUNUSED(event))
             csCommandState* state = new csCommandState(ID_CS_CUT_POINT, newShape, shape);
             cmd->AddState(state);
         }
-        node = node->Next();
+        node = node->GetNext();
     }
     doc->GetCommandProcessor()->Submit(cmd);
 }
@@ -793,10 +791,10 @@ void csDiagramView::OnStraightenLines(wxCommandEvent& WXUNUSED(event))
     csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
     csDiagramCommand* cmd = new csDiagramCommand(_T("Straighten lines"), doc);
 
-    wxNode* node = m_selections.First();
+    wxObjectList::compatibility_iterator node = m_selections.GetFirst();
     while (node)
     {
-        wxShape* shape = (wxShape*) node->Data();
+        wxShape* shape = (wxShape*) node->GetData();
         if (shape->IsKindOf(CLASSINFO(wxLineShape)))
         {
             wxShape* newShape = shape->CreateNewCopy();
@@ -804,7 +802,7 @@ void csDiagramView::OnStraightenLines(wxCommandEvent& WXUNUSED(event))
             csCommandState* state = new csCommandState(ID_CS_STRAIGHTEN, newShape, shape);
             cmd->AddState(state);
         }
-        node = node->Next();
+        node = node->GetNext();
     }
     doc->GetCommandProcessor()->Submit(cmd);
 }
@@ -813,21 +811,21 @@ void csDiagramView::OnNewLinePointUpdate(wxUpdateUIEvent& event)
 {
     wxList selections;
     FindSelectedShapes(selections, CLASSINFO(wxLineShape));
-    event.Enable( (selections.Number() > 0) );
+    event.Enable( (selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnCutLinePointUpdate(wxUpdateUIEvent& event)
 {
     wxList selections;
     FindSelectedShapes(selections, CLASSINFO(wxLineShape));
-    event.Enable( (selections.Number() > 0) );
+    event.Enable( (selections.GetCount() > 0) );
 }
 
 void csDiagramView::OnStraightenLinesUpdate(wxUpdateUIEvent& event)
 {
     wxList selections;
     FindSelectedShapes(selections, CLASSINFO(wxLineShape));
-    event.Enable( (selections.Number() > 0) );
+    event.Enable( (selections.GetCount() > 0) );
 }
 
 /*
@@ -868,7 +866,7 @@ void csCanvas::OnLeftClick(double x, double y, int WXUNUSED(keys))
 
     if (palette->GetSelection() == PALETTE_ARROW)
     {
-        GetView()->SelectAll(FALSE);
+        GetView()->SelectAll(false);
 
         wxClientDC dc(this);
         PrepareDC(dc);
@@ -999,10 +997,10 @@ void csCanvas::OnEndDragLeft(double x, double y, int WXUNUSED(keys))
     min_y = wxMin(y, sg_initialY);
     max_y = wxMax(y, sg_initialY);
 
-    wxNode *node = GetDiagram()->GetShapeList()->First();
+    wxObjectList::compatibility_iterator node = GetDiagram()->GetShapeList()->GetFirst();
     while (node)
     {
-        wxShape *shape = (wxShape *)node->Data();
+        wxShape *shape = (wxShape *)node->GetData();
         if (shape->GetParent() == NULL && !shape->IsKindOf(CLASSINFO(wxControlPoint)))
         {
             float image_x = shape->GetX();
@@ -1010,11 +1008,11 @@ void csCanvas::OnEndDragLeft(double x, double y, int WXUNUSED(keys))
             if (image_x >= min_x && image_x <= max_x &&
                 image_y >= min_y && image_y <= max_y)
             {
-                shape->Select(TRUE, &dc);
-                GetView()->SelectShape(shape, TRUE);
+                shape->Select(true, &dc);
+                GetView()->SelectShape(shape, true);
             }
         }
-        node = node->Next();
+        node = node->GetNext();
     }
 }