X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8552e6f031ded8ae61b4a5b489fbf06962365da7..298a3f2ee8a54964a8ba79931a9a5b1d8be200b4:/contrib/samples/ogl/studio/shapes.cpp diff --git a/contrib/samples/ogl/studio/shapes.cpp b/contrib/samples/ogl/studio/shapes.cpp index 272b887ba2..44c61728e2 100644 --- a/contrib/samples/ogl/studio/shapes.cpp +++ b/contrib/samples/ogl/studio/shapes.cpp @@ -6,7 +6,7 @@ // Created: 12/07/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -28,15 +28,12 @@ #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in wx_setup.h! #endif -#include -#include +#include // base header of OGL, includes and adjusts wx/deprecated/setup.h #include "studio.h" #include "doc.h" #include "shapes.h" #include "view.h" -#include -#include #include "cspalette.h" #include "dialogs.h" @@ -83,7 +80,7 @@ void csEvtHandler::CopyData(wxShapeEvtHandler& copy) csEvtHandler& csCopy = (csEvtHandler&) copy; csCopy.m_label = m_label; } - + void csEvtHandler::OnLeftClick(double WXUNUSED(x), double WXUNUSED(y), int keys, int WXUNUSED(attachment)) { wxClientDC dc(GetShape()->GetCanvas()); @@ -130,7 +127,7 @@ void csEvtHandler::OnLeftClick(double WXUNUSED(x), double WXUNUSED(y), int keys, // If the shape was selected, deselect it and vice versa. bool selected = GetShape()->Selected(); - view->SelectAll(FALSE); + view->SelectAll(false); selected = !selected; @@ -143,13 +140,13 @@ void csEvtHandler::OnLeftClick(double WXUNUSED(x), double WXUNUSED(y), int keys, { if (GetShape()->Selected()) { - GetShape()->Select(FALSE, &dc); - view->SelectShape(GetShape(), FALSE); + GetShape()->Select(false, &dc); + view->SelectShape(GetShape(), false); } else { - GetShape()->Select(TRUE, &dc); - view->SelectShape(GetShape(), TRUE); + GetShape()->Select(true, &dc); + view->SelectShape(GetShape(), true); } GetShape()->GetCanvas()->Redraw(dc); // Redraw because bits of objects will be missing } @@ -159,7 +156,9 @@ void csEvtHandler::OnLeftClick(double WXUNUSED(x), double WXUNUSED(y), int keys, } else { +#if wxUSE_STATUSBAR ((wxFrame*)wxGetApp().GetTopWindow())->SetStatusText(m_label); +#endif // wxUSE_STATUSBAR } } @@ -194,7 +193,7 @@ void csEvtHandler::OnBeginDragRight(double x, double y, int WXUNUSED(keys), int wxClientDC dc(GetShape()->GetCanvas()); GetShape()->GetCanvas()->PrepareDC(dc); - wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT); + wxPen dottedPen(*wxBLACK, 1, wxDOT); dc.SetLogicalFunction(OGLRBLF); dc.SetPen(dottedPen); double xp, yp; @@ -208,7 +207,7 @@ void csEvtHandler::OnDragRight(bool WXUNUSED(draw), double x, double y, int WXUN wxClientDC dc(GetShape()->GetCanvas()); GetShape()->GetCanvas()->PrepareDC(dc); - wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT); + wxPen dottedPen(*wxBLACK, 1, wxDOT); dc.SetLogicalFunction(OGLRBLF); dc.SetPen(dottedPen); double xp, yp; @@ -224,7 +223,7 @@ void csEvtHandler::OnEndDragRight(double x, double y, int WXUNUSED(keys), int at // Check if we're on an object int new_attachment; wxShape *otherShape = canvas->FindFirstSensitiveShape(x, y, &new_attachment, OP_DRAG_RIGHT); - + if (otherShape && !otherShape->IsKindOf(CLASSINFO(wxLineShape))) { wxLineShape* theShape = new csLineShape; @@ -280,7 +279,7 @@ void csEvtHandler::OnDragLeft(bool draw, double x, double y, int keys, int attac dc.SetLogicalFunction(OGLRBLF); - wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT); + wxPen dottedPen(*wxBLACK, 1, wxDOT); dc.SetPen(dottedPen); dc.SetBrush(* wxTRANSPARENT_BRUSH); @@ -299,7 +298,7 @@ void csEvtHandler::OnDragLeft(bool draw, double x, double y, int keys, int attac GetShape()->GetEventHandler()->OnDrawOutline(dc, xx, yy, w, h); // Draw bounding box for other selected shapes - wxNode* node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { wxShape* shape = (wxShape*) node->GetData(); @@ -349,7 +348,7 @@ void csEvtHandler::OnBeginDragLeft(double x, double y, int keys, int attachment) dc.SetLogicalFunction(OGLRBLF); - wxPen dottedPen(wxColour(0, 0, 0), 1, wxDOT); + wxPen dottedPen(*wxBLACK, 1, wxDOT); dc.SetPen(dottedPen); dc.SetBrush((* wxTRANSPARENT_BRUSH)); @@ -358,7 +357,7 @@ void csEvtHandler::OnBeginDragLeft(double x, double y, int keys, int attachment) GetShape()->GetEventHandler()->OnDrawOutline(dc, xx, yy, w, h); // Draw bounding box for other selected shapes - wxNode* node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { wxShape* shape = (wxShape*) node->GetData(); @@ -413,7 +412,7 @@ void csEvtHandler::OnEndDragLeft(double x, double y, int keys, int attachment) new csCommandState(ID_CS_MOVE, newShape, GetShape())); // Move line points - wxNode* node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { wxShape* shape = (wxShape*) node->GetData(); @@ -427,7 +426,7 @@ void csEvtHandler::OnEndDragLeft(double x, double y, int keys, int attachment) { wxLineShape* newLineShape = (wxLineShape*) lineShape->CreateNewCopy(); - wxNode *node1 = newLineShape->GetLineControlPoints()->GetFirst(); + wxObjectList::compatibility_iterator node1 = newLineShape->GetLineControlPoints()->GetFirst(); while (node1) { wxRealPoint *point = (wxRealPoint *)node1->GetData(); @@ -477,7 +476,7 @@ void csEvtHandler::OnSizingEndDragLeft(wxControlPoint* pt, double x, double y, i wxClientDC dc(canvas); canvas->PrepareDC(dc); - shape->SetDisableLabel(FALSE); + shape->SetDisableLabel(false); if (lpt->m_type == CONTROL_POINT_LINE) { @@ -529,7 +528,7 @@ void csEvtHandler::OnSizingEndDragLeft(wxControlPoint* pt, double x, double y, i shape->Recompute(); shape->ResetControlPoints(); if (!pt->m_eraseObject) - shape->Show(FALSE); + shape->Show(false); */ wxShape* newShape = shape->CreateNewCopy(); @@ -612,7 +611,7 @@ bool csEvtHandler::EditProperties() // For now, no line property editing if (shape->IsKindOf(CLASSINFO(wxLineShape))) - return FALSE; + return false; csDiagramView* view = ((csCanvas*)shape->GetCanvas())->GetView(); @@ -677,19 +676,25 @@ bool csEvtHandler::EditProperties() else { wxMessageBox(_T("Unrecognised shape."), _T("Studio"), wxICON_EXCLAMATION); - return FALSE; + return false; } + wxString newLabel(m_label); + +#if wxUSE_WX_RESOURCES csShapePropertiesDialog* dialog = new csShapePropertiesDialog(shape->GetCanvas()->GetParent(), title, attributeDialog, attributeDialogName); dialog->GetGeneralPropertiesDialog()->SetShapeLabel(m_label); if (dialog->ShowModal() == wxID_CANCEL) { dialog->Destroy(); - return FALSE; + return false; } - wxString newLabel = dialog->GetGeneralPropertiesDialog()->GetShapeLabel(); + newLabel = dialog->GetGeneralPropertiesDialog()->GetShapeLabel(); dialog->Destroy(); +#else + wxUnusedVar(attributeDialog); +#endif // wxUSE_WX_RESOURCES wxShape* newShape = shape->CreateNewCopy(); @@ -699,19 +704,20 @@ bool csEvtHandler::EditProperties() view->GetDocument()->GetCommandProcessor()->Submit(new csDiagramCommand(_T("Edit properties"), (csDiagramDocument*) view->GetDocument(), new csCommandState(ID_CS_EDIT_PROPERTIES, newShape, shape))); - return TRUE; + return true; } /* * Diagram */ - + +#if wxUSE_PROLOGIO bool csDiagram::OnShapeSave(wxExprDatabase& db, wxShape& shape, wxExpr& expr) { wxDiagram::OnShapeSave(db, shape, expr); csEvtHandler *handler = (csEvtHandler *)shape.GetEventHandler(); expr.AddAttributeValueString(_T("label"), handler->m_label); - return TRUE; + return true; } bool csDiagram::OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr) @@ -721,9 +727,10 @@ bool csDiagram::OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr) expr.GetAttributeValue(_T("label"), label); csEvtHandler *handler = new csEvtHandler(&shape, &shape, label); shape.SetEventHandler(handler); - - return TRUE; + + return true; } +#endif // wxUSE_PROLOGIO IMPLEMENT_DYNAMIC_CLASS(csThinRectangleShape, wxDrawnShape) @@ -741,7 +748,7 @@ csThinRectangleShape::csThinRectangleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csWideRectangleShape, wxDrawnShape) @@ -760,7 +767,7 @@ csWideRectangleShape::csWideRectangleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csTriangleShape, wxDrawnShape) @@ -814,7 +821,7 @@ csTriangleShape::csTriangleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csSemiCircleShape, wxDrawnShape) @@ -911,7 +918,7 @@ csSemiCircleShape::csSemiCircleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csCircleShape, wxCircleShape) @@ -926,7 +933,7 @@ csCircleShape::csCircleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csCircleShadowShape, wxCircleShape) @@ -941,7 +948,7 @@ csCircleShadowShape::csCircleShadowShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); SetShadowMode(SHADOW_RIGHT); } @@ -971,7 +978,7 @@ csOctagonShape::csOctagonShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } // This is a transparent shape for drawing around other shapes. @@ -983,7 +990,7 @@ csGroupShape::csGroupShape() SetBrush(wxTRANSPARENT_BRUSH); SetSize(csSTANDARD_SHAPE_WIDTH, csSTANDARD_SHAPE_WIDTH); - SetCentreResize(FALSE); + SetCentreResize(false); } void csGroupShape::OnDraw(wxDC& dc) @@ -1013,20 +1020,20 @@ bool csGroupShape::HitTest(double x, double y, int* attachment, double* distance if (x >= x1 && x <= x2) { if ((y >= y1 - edgeTolerance) && (y <= y1 + edgeTolerance)) - return TRUE; + return true; if ((y <= y2 + edgeTolerance) && (y >= y2 - edgeTolerance)) - return TRUE; + return true; } // Left/right edges if (y >= y1 && y <= y2) { if ((x >= x1 - edgeTolerance) && (x <= x1 + edgeTolerance)) - return TRUE; + return true; if ((x <= x2 + edgeTolerance) && (x >= x2 - edgeTolerance)) - return TRUE; + return true; } - return FALSE; + return false; } IMPLEMENT_DYNAMIC_CLASS(csTextBoxShape, wxRectangleShape) @@ -1040,7 +1047,7 @@ csTextBoxShape::csTextBoxShape() SetAttachmentMode(ATTACHMENT_MODE_NONE); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csLineShape, wxLineShape) @@ -1066,7 +1073,7 @@ bool csLineShape::OnMoveMiddleControlPoint(wxDC& WXUNUSED(dc), wxLineControlPoin view->GetDocument()->GetCommandProcessor()->Submit(new csDiagramCommand(_T("Move line point"), (csDiagramDocument*) view->GetDocument(), new csCommandState(ID_CS_MOVE_LINE_POINT, newShape, this))); - return TRUE; + return true; } wxLabelShape* csLineShape::OnCreateLabelShape(wxLineShape *parent, wxShapeRegion *region, double w, double h) @@ -1085,7 +1092,7 @@ bool csLineShape::OnLabelMovePre(wxDC& dc, wxLabelShape* labelShape, double x, d view->GetDocument()->GetCommandProcessor()->Submit(new csDiagramCommand("Move label", (csDiagramDocument*) view->GetDocument(), new csCommandState(ID_CS_MOVE_LABEL, newShape, this))); - return TRUE; + return true; } #endif @@ -1153,7 +1160,7 @@ void studioShapeEditProc(wxMenu& menu, wxCommandEvent& event) break; double theta = shape->GetRotation(); - const double myPi = 3.1415926535897932384626433832795 ; + const double myPi = M_PI; double ninetyDegrees = myPi/2.0; wxString opStr;