X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1484b5cc701329c54bbe70f2a155119fd86945c7..e77c5d96822bf69003ec6c210b19c3fa1c799c65:/contrib/samples/ogl/studio/shapes.cpp diff --git a/contrib/samples/ogl/studio/shapes.cpp b/contrib/samples/ogl/studio/shapes.cpp index 3e421feeb4..2129895d30 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__ @@ -130,7 +130,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 +143,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 +159,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 } } @@ -199,7 +201,7 @@ void csEvtHandler::OnBeginDragRight(double x, double y, int WXUNUSED(keys), int dc.SetPen(dottedPen); double xp, yp; GetShape()->GetAttachmentPositionEdge(attachment, &xp, &yp); - dc.DrawLine(xp, yp, x, y); + dc.DrawLine((wxCoord)xp, (wxCoord)yp, (wxCoord)x, (wxCoord)y); GetShape()->GetCanvas()->CaptureMouse(); } @@ -213,7 +215,7 @@ void csEvtHandler::OnDragRight(bool WXUNUSED(draw), double x, double y, int WXUN dc.SetPen(dottedPen); double xp, yp; GetShape()->GetAttachmentPositionEdge(attachment, &xp, &yp); - dc.DrawLine(xp, yp, x, y); + dc.DrawLine((wxCoord)xp, (wxCoord)yp, (wxCoord)x, (wxCoord)y); } void csEvtHandler::OnEndDragRight(double x, double y, int WXUNUSED(keys), int attachment) @@ -299,16 +301,16 @@ 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()->First(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { - wxShape* shape = (wxShape*) node->Data(); + wxShape* shape = (wxShape*) node->GetData(); if (shape->Selected() && !shape->IsKindOf(CLASSINFO(wxLineShape)) && (shape != GetShape())) { shape->GetBoundingBoxMax(&w, &h); shape->OnDrawOutline(dc, shape->GetX() + offsetX, shape->GetY() + offsetY, w, h); } - node = node->Next(); + node = node->GetNext(); } } @@ -358,16 +360,16 @@ 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()->First(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { - wxShape* shape = (wxShape*) node->Data(); + wxShape* shape = (wxShape*) node->GetData(); if (shape->Selected() && !shape->IsKindOf(CLASSINFO(wxLineShape)) && (shape != GetShape())) { shape->GetBoundingBoxMax(&w, &h); shape->OnDrawOutline(dc, shape->GetX() + offsetX, shape->GetY() + offsetY, w, h); } - node = node->Next(); + node = node->GetNext(); } GetShape()->GetCanvas()->CaptureMouse(); @@ -413,40 +415,40 @@ 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()->First(); + wxObjectList::compatibility_iterator node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { - wxShape* shape = (wxShape*) node->Data(); + wxShape* shape = (wxShape*) node->GetData(); // Only move the line point(s) if both ends move too if (shape->IsKindOf(CLASSINFO(wxLineShape)) && ((wxLineShape*)shape)->GetTo()->Selected() && ((wxLineShape*)shape)->GetFrom()->Selected()) { wxLineShape* lineShape = (wxLineShape*) shape; - if (lineShape->GetLineControlPoints()->Number() > 2) + if (lineShape->GetLineControlPoints()->GetCount() > 2) { wxLineShape* newLineShape = (wxLineShape*) lineShape->CreateNewCopy(); - wxNode *node1 = newLineShape->GetLineControlPoints()->First(); + wxObjectList::compatibility_iterator node1 = newLineShape->GetLineControlPoints()->GetFirst(); while (node1) { - wxRealPoint *point = (wxRealPoint *)node1->Data(); + wxRealPoint *point = (wxRealPoint *)node1->GetData(); point->x += offsetX; point->y += offsetY; - node1 = node1->Next(); + node1 = node1->GetNext(); } cmd->AddState(new csCommandState(ID_CS_MOVE_LINE_POINT, newLineShape, lineShape)); lineShape->Erase(dc); } } - node = node->Next(); + node = node->GetNext(); } // Add other selected node shapes, if any - node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->First(); + node = GetShape()->GetCanvas()->GetDiagram()->GetShapeList()->GetFirst(); while (node) { - wxShape* shape = (wxShape*) node->Data(); + wxShape* shape = (wxShape*) node->GetData(); if (shape->Selected() && !shape->IsKindOf(CLASSINFO(wxLineShape)) && (shape != GetShape())) { wxShape* newShape2 = shape->CreateNewCopy(); @@ -454,7 +456,7 @@ void csEvtHandler::OnEndDragLeft(double x, double y, int keys, int attachment) newShape2->SetY(shape->GetY() + offsetY); cmd->AddState(new csCommandState(ID_CS_MOVE, newShape2, shape)); } - node = node->Next(); + node = node->GetNext(); } canvas->GetView()->GetDocument()->GetCommandProcessor()->Submit(cmd); @@ -477,7 +479,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 +531,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 +614,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,7 +679,7 @@ bool csEvtHandler::EditProperties() else { wxMessageBox(_T("Unrecognised shape."), _T("Studio"), wxICON_EXCLAMATION); - return FALSE; + return false; } csShapePropertiesDialog* dialog = new csShapePropertiesDialog(shape->GetCanvas()->GetParent(), title, attributeDialog, attributeDialogName); @@ -685,7 +687,7 @@ bool csEvtHandler::EditProperties() if (dialog->ShowModal() == wxID_CANCEL) { dialog->Destroy(); - return FALSE; + return false; } wxString newLabel = dialog->GetGeneralPropertiesDialog()->GetShapeLabel(); @@ -699,7 +701,7 @@ 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; } /* @@ -711,7 +713,7 @@ 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) @@ -722,7 +724,7 @@ bool csDiagram::OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr) csEvtHandler *handler = new csEvtHandler(&shape, &shape, label); shape.SetEventHandler(handler); - return TRUE; + return true; } IMPLEMENT_DYNAMIC_CLASS(csThinRectangleShape, wxDrawnShape) @@ -736,12 +738,12 @@ csThinRectangleShape::csThinRectangleShape() double w = csSTANDARD_SHAPE_WIDTH/2; double h = csSTANDARD_SHAPE_WIDTH; - DrawRectangle(wxRect(- w/2, - h/2, w, h)); + DrawRectangle(wxRect((int)(- w/2), (int)(- h/2), (int)(w), (int)(h))); CalculateSize(); SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csWideRectangleShape, wxDrawnShape) @@ -755,12 +757,12 @@ csWideRectangleShape::csWideRectangleShape() double w = csSTANDARD_SHAPE_WIDTH; double h = w/2.0; - DrawRoundedRectangle(wxRect(- w/2, - h/2, w, h), -0.3); + DrawRoundedRectangle(wxRect((int)(- w/2), (int)(- h/2), (int)(w), (int)(h)), -0.3); CalculateSize(); SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csTriangleShape, wxDrawnShape) @@ -778,9 +780,9 @@ csTriangleShape::csTriangleShape() wxPoint* points = new wxPoint[3]; - points[0] = wxPoint( 0 , - h / 2 ); - points[1] = wxPoint( w / 2 , h / 2 ); - points[2] = wxPoint( -w / 2, h / 2 ); + points[0] = wxPoint( 0 , (int)(- h / 2) ); + points[1] = wxPoint( (int)(w / 2) , (int)(h / 2) ); + points[2] = wxPoint( (int)(-w / 2), (int)(h / 2) ); DrawPolygon(3, points, oglMETAFLAGS_OUTLINE); @@ -814,7 +816,7 @@ csTriangleShape::csTriangleShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); } IMPLEMENT_DYNAMIC_CLASS(csSemiCircleShape, wxDrawnShape) @@ -834,14 +836,14 @@ csSemiCircleShape::csSemiCircleShape() // bounding box, since we can't calculate the bounding box for // an arbitrary arc (not implemented) - DrawRectangle(wxRect(-w/2.0, -h/2.0, w, h)); + DrawRectangle(wxRect((int)(-w/2.0), (int)(-h/2.0), (int)(w), (int)(h))); SetDrawnPen(wxBLACK_PEN); wxBrush* brush = wxTheBrushList->FindOrCreateBrush(wxColour(220, 220, 220), wxSOLID); SetDrawnBrush(brush); - DrawEllipticArc(wxRect(-w/2, -h/2, w, 2*h), 0.0, 180.0); - DrawLine(wxPoint(-w/2, h/2), wxPoint(w/2, h/2)); + DrawEllipticArc(wxRect((int)(-w/2), (int)(-h/2), (int)(w), (int)(2*h)), 0.0, 180.0); + DrawLine(wxPoint((int)(-w/2), (int)(h/2)), wxPoint((int)(w/2), (int)(h/2))); CalculateSize(); @@ -855,13 +857,13 @@ csSemiCircleShape::csSemiCircleShape() SetDrawnPen(wxTRANSPARENT_PEN); SetDrawnBrush(wxTRANSPARENT_BRUSH); - DrawRectangle(wxRect(-w/2, -h/2, w, h)); + DrawRectangle(wxRect((int)(-w/2), (int)(-h/2), (int)(w), (int)(h))); SetDrawnPen(wxBLACK_PEN); SetDrawnBrush(brush); - DrawEllipticArc(wxRect(-w/2 - w, -h/2, 2*w, h), 270.0, 90.0); - DrawLine(wxPoint(-w/2, -h/2), wxPoint(-w/2, h/2)); + DrawEllipticArc(wxRect((int)(-w/2 - w), (int)(-h/2), (int)(2*w), (int)(h)), 270.0, 90.0); + DrawLine(wxPoint((int)(-w/2), (int)(-h/2)), wxPoint((int)(-w/2), (int)(h/2))); CalculateSize(); @@ -875,13 +877,13 @@ csSemiCircleShape::csSemiCircleShape() SetDrawnPen(wxTRANSPARENT_PEN); SetDrawnBrush(wxTRANSPARENT_BRUSH); - DrawRectangle(wxRect(-w/2, -h/2, w, h)); + DrawRectangle(wxRect((int)(-w/2), (int)(-h/2), (int)(w), (int)(h))); SetDrawnPen(wxBLACK_PEN); SetDrawnBrush(brush); - DrawEllipticArc(wxRect(-w/2, -h/2 - h, w, 2*h), 180.0, 0.0); - DrawLine(wxPoint(-w/2, -h/2), wxPoint(w/2, -h/2)); + DrawEllipticArc(wxRect((int)(-w/2), (int)(-h/2 - h), (int)(w), (int)(2*h)), 180.0, 0.0); + DrawLine(wxPoint((int)(-w/2), (int)(-h/2)), wxPoint((int)(w/2), (int)(-h/2))); CalculateSize(); @@ -895,13 +897,13 @@ csSemiCircleShape::csSemiCircleShape() SetDrawnPen(wxTRANSPARENT_PEN); SetDrawnBrush(wxTRANSPARENT_BRUSH); - DrawRectangle(wxRect(-w/2, -h/2, w, h)); + DrawRectangle(wxRect((int)(-w/2), (int)(-h/2), (int)(w), (int)(h))); SetDrawnPen(wxBLACK_PEN); SetDrawnBrush(brush); - DrawEllipticArc(wxRect(-w/2, -h/2, 2*w, h), 90.0, 270.0); - DrawLine(wxPoint(w/2, -h/2), wxPoint(w/2, h/2)); + DrawEllipticArc(wxRect((int)(-w/2), (int)(-h/2), (int)(2*w), (int)(h)), 90.0, 270.0); + DrawLine(wxPoint((int)(w/2),(int)(-h/2)), wxPoint((int)(w/2), (int)(h/2))); CalculateSize(); @@ -911,7 +913,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 +928,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 +943,7 @@ csCircleShadowShape::csCircleShadowShape() SetAttachmentMode(ATTACHMENT_MODE_BRANCHING); SetBranchStyle(BRANCHING_ATTACHMENT_NORMAL|BRANCHING_ATTACHMENT_BLOB); - SetCentreResize(FALSE); + SetCentreResize(false); SetShadowMode(SHADOW_RIGHT); } @@ -971,7 +973,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 +985,7 @@ csGroupShape::csGroupShape() SetBrush(wxTRANSPARENT_BRUSH); SetSize(csSTANDARD_SHAPE_WIDTH, csSTANDARD_SHAPE_WIDTH); - SetCentreResize(FALSE); + SetCentreResize(false); } void csGroupShape::OnDraw(wxDC& dc) @@ -1013,20 +1015,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 +1042,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 +1068,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 +1087,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