wxShapeRegion::SetText shouldn't append to formatted strings list
Addition of accessors to allow an app to do alternate diagram streaming git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
6f40108088
commit
4b7eab302f
@ -400,6 +400,7 @@ class WXDLLIMPEXP_OGL wxShape: public wxShapeEvtHandler
|
||||
int nth = 0, int no_arcs = 1, wxLineShape *line = NULL);
|
||||
virtual int GetNumberOfAttachments() const;
|
||||
virtual bool AttachmentIsValid(int attachment) const;
|
||||
virtual wxList& GetAttachments() { return m_attachmentPoints; }
|
||||
|
||||
// Only get the attachment position at the _edge_ of the shape, ignoring
|
||||
// branching mode. This is used e.g. to indicate the edge of interest, not the point
|
||||
@ -506,7 +507,8 @@ class WXDLLIMPEXP_OGL wxShape: public wxShapeEvtHandler
|
||||
|
||||
// Rotate about the given axis by the given amount in radians.
|
||||
virtual void Rotate(double x, double y, double theta);
|
||||
virtual inline double GetRotation() const { return m_rotation; }
|
||||
virtual double GetRotation() const { return m_rotation; }
|
||||
virtual void SetRotation(double rotation) { m_rotation = rotation; }
|
||||
|
||||
void ClearAttachments();
|
||||
|
||||
@ -629,10 +631,17 @@ class WXDLLIMPEXP_OGL wxPolygonShape: public wxShape
|
||||
void Copy(wxShape& copy);
|
||||
|
||||
inline wxList *GetPoints() { return m_points; }
|
||||
inline wxList *GetOriginalPoints() { return m_originalPoints; }
|
||||
|
||||
// Rotate about the given axis by the given amount in radians
|
||||
virtual void Rotate(double x, double y, double theta);
|
||||
|
||||
double GetOriginalWidth() const { return m_originalWidth; }
|
||||
double GetOriginalHeight() const { return m_originalHeight; }
|
||||
|
||||
void SetOriginalWidth(double w) { m_originalWidth = w; }
|
||||
void SetOriginalHeight(double h) { m_originalHeight = h; }
|
||||
|
||||
private:
|
||||
wxList* m_points;
|
||||
wxList* m_originalPoints;
|
||||
@ -654,6 +663,7 @@ class WXDLLIMPEXP_OGL wxRectangleShape: public wxShape
|
||||
void OnDraw(wxDC& dc);
|
||||
void SetSize(double x, double y, bool recursive = TRUE);
|
||||
void SetCornerRadius(double rad); // If > 0, rounded corners
|
||||
double GetCornerRadius() const { return m_cornerRadius; }
|
||||
|
||||
#if wxUSE_PROLOGIO
|
||||
void WriteAttributes(wxExpr *clause);
|
||||
|
@ -138,7 +138,7 @@ class WXDLLIMPEXP_OGL wxShapeRegion: public wxObject
|
||||
|
||||
// Accessors
|
||||
inline void SetText(const wxString& s)
|
||||
{ m_regionText = s; m_formattedText.Append(new wxShapeTextLine(0,0,s));}
|
||||
{ m_regionText = s; }
|
||||
void SetFont(wxFont *f);
|
||||
void SetMinSize(double w, double h);
|
||||
void SetSize(double w, double h);
|
||||
|
@ -248,6 +248,8 @@ class WXDLLIMPEXP_OGL wxLineShape: public wxShape
|
||||
void SetAlignmentType(bool isEnd, int alignType);
|
||||
bool GetAlignmentOrientation(bool isEnd);
|
||||
int GetAlignmentType(bool isEnd);
|
||||
int GetAlignmentStart() const { return m_alignmentStart; }
|
||||
int GetAlignmentEnd() const { return m_alignmentEnd; }
|
||||
|
||||
// Find next control point in line after the start/end point
|
||||
// (depending on whether the node object is at start or end)
|
||||
|
@ -63,23 +63,31 @@ void wxPolygonShape::Create(wxList *the_points)
|
||||
{
|
||||
ClearPoints();
|
||||
|
||||
m_originalPoints = the_points;
|
||||
|
||||
// Duplicate the list of points
|
||||
m_points = new wxList;
|
||||
|
||||
wxNode *node = the_points->GetFirst();
|
||||
while (node)
|
||||
if (!the_points)
|
||||
{
|
||||
wxRealPoint *point = (wxRealPoint *)node->GetData();
|
||||
wxRealPoint *new_point = new wxRealPoint(point->x, point->y);
|
||||
m_points->Append((wxObject*) new_point);
|
||||
node = node->GetNext();
|
||||
m_originalPoints = new wxList;
|
||||
m_points = new wxList;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_originalPoints = the_points;
|
||||
|
||||
// Duplicate the list of points
|
||||
m_points = new wxList;
|
||||
|
||||
wxNode *node = the_points->GetFirst();
|
||||
while (node)
|
||||
{
|
||||
wxRealPoint *point = (wxRealPoint *)node->GetData();
|
||||
wxRealPoint *new_point = new wxRealPoint(point->x, point->y);
|
||||
m_points->Append((wxObject*) new_point);
|
||||
node = node->GetNext();
|
||||
}
|
||||
CalculateBoundingBox();
|
||||
m_originalWidth = m_boundWidth;
|
||||
m_originalHeight = m_boundHeight;
|
||||
SetDefaultRegionSize();
|
||||
}
|
||||
CalculateBoundingBox();
|
||||
m_originalWidth = m_boundWidth;
|
||||
m_originalHeight = m_boundHeight;
|
||||
SetDefaultRegionSize();
|
||||
}
|
||||
|
||||
wxPolygonShape::~wxPolygonShape()
|
||||
|
Loading…
Reference in New Issue
Block a user