OSDN Git Service

[denncoCreator] expand the rectangle of DCVCPage when a cell is placed outside the...
[dennco/denncoCreator.git] / Source / visualizer / component / dcvcpage.h
index d34483a..acc7302 100644 (file)
@@ -22,6 +22,7 @@
 #include "dcvcomponent.h"
 
 class DCVPageComponent;
+class DCContainer;
 
 class DCVCPage : public DCVComponent
 {
@@ -40,6 +41,8 @@ class DCVCPage : public DCVComponent
 
     DCVPageComponent *d_editCursor;
 
+    QString d_hash;
+
 public:
     DCVCPage(const QString &locationPath);
     virtual ~DCVCPage();
@@ -49,6 +52,9 @@ public:
     virtual DCVVisibility   getIsVisible() const { return d_colorA == 0 ?  DCV_VISIBLE_NONE : DCVComponent::getIsVisible(); }
     virtual bool            isResizingArea(float x, float y, float z) const { return false; }
     QString                 getLocationPath() const { return d_locationPath; }
+    bool                    getIsModified(DCContainer *container) const;
+    inline float            getWidth() const { return d_width; }
+    inline float            getDepth() const { return d_depth; }
 
     const QList<DCVPageComponent*>* getCells() const { return &d_cells; }
     const QList<DCVPageComponent*>* getCellCodeClasses() const { return &d_cellCodeClasses; }
@@ -105,13 +111,15 @@ public:
     virtual bool    endDrag(float x, float y, float z, bool isResizingDrag);
     virtual void    updateShape() {}
 
-    virtual void    saveAttributesToXML(QDomDocument *document, QDomElement* element);
+    virtual void    saveAttributesToXML(QDomDocument *document, QDomElement* element) const;
     virtual void    loadAttributesFromXML(QDomElement element);
 
     void setHeight(float height);
     void setWidth(float width);
     void setDepth(float depth);
     void setColor(float r, float g, float b, float a);
+
+    void updateSavedState(DCContainer *container);
 };
 
 #endif // DCVCPAGE_H