diff options
Diffstat (limited to 'coreengine/gridelement.c')
| -rw-r--r-- | coreengine/gridelement.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/coreengine/gridelement.c b/coreengine/gridelement.c new file mode 100644 index 0000000..223546e --- /dev/null +++ b/coreengine/gridelement.c @@ -0,0 +1,57 @@ +#include "gridelement.h"
+#include "../config.h"
+
+cGridElement::cGridElement(void) {
+ current = false;
+ indexCurrent = -1;
+ viewId = -1;
+ plugId = -1;
+}
+
+cGridElement::cGridElement(const cGridElement &other) : cViewElement(other) {
+ current = false;
+ viewId = other.viewId;
+ plugId = other.plugId;
+ tokenContainer = new skindesignerapi::cTokenContainer(*other.tokenContainer);
+ indexCurrent = other.indexCurrent;
+ InheritTokenContainerDeep();
+}
+
+cGridElement::~cGridElement(void) {
+}
+
+void cGridElement::SetTokenContainer(void) {
+ skindesignerapi::cTokenContainer *tkGe = plgManager->GetTokenContainerGE(plugId, viewId, id);
+ if (!tkGe)
+ return;
+ tokenContainer = new skindesignerapi::cTokenContainer(*tkGe);
+ indexCurrent = tokenContainer->GetNumDefinedIntTokens();
+ tokenContainer->DefineIntToken("{current}", indexCurrent);
+ InheritTokenContainer();
+}
+
+void cGridElement::Set(skindesignerapi::cTokenContainer *tk) {
+ tokenContainer->Clear();
+ tokenContainer->SetTokens(tk);
+ SetDirty();
+}
+
+void cGridElement::SetCurrent(bool current) {
+ this->current = current;
+ SetDirty();
+}
+
+bool cGridElement::Parse(bool forced) {
+ if (!dirty)
+ return false;
+ tokenContainer->AddIntToken(indexCurrent, current);
+ return true;
+}
+
+int cGridElement::Width(void) {
+ return container.Width();
+}
+
+int cGridElement::Height(void) {
+ return container.Height();
+}
\ No newline at end of file |
