From d2034bf69b1f65faf63b22aa761389984fc6b514 Mon Sep 17 00:00:00 2001 From: Edouard Dupin Date: Wed, 14 Mar 2012 18:30:38 +0100 Subject: [PATCH] add basic forme drawer --- jni/Main.cpp | 79 ++++++++++++++++++++--------- jni/elementBase.cpp | 29 +++++++++++ jni/elementBase.h | 52 +++++++++++++++++++ jni/elementCircle.cpp | 36 +++++++++++++ jni/elementCircle.h | 35 +++++++++++++ jni/elementDisk.cpp | 41 +++++++++++++++ jni/elementDisk.h | 35 +++++++++++++ jni/elementManager.cpp | 107 +++++++++++++++++++++++++++++++++++++++ jni/elementManager.h | 41 +++++++++++++++ jni/elementMesh.cpp | 37 ++++++++++++++ jni/elementMesh.h | 35 +++++++++++++ jni/elementPolygone.cpp | 37 ++++++++++++++ jni/elementPolygone.h | 35 +++++++++++++ jni/elementRectangle.cpp | 38 ++++++++++++++ jni/elementRectangle.h | 35 +++++++++++++ jni/file.mk | 7 +++ jni/globalMsg.cpp | 22 +++++--- jni/globalMsg.h | 8 ++- jni/widgetDrawer.cpp | 1 + 19 files changed, 676 insertions(+), 34 deletions(-) create mode 100644 jni/elementBase.cpp create mode 100644 jni/elementBase.h create mode 100644 jni/elementCircle.cpp create mode 100644 jni/elementCircle.h create mode 100644 jni/elementDisk.cpp create mode 100644 jni/elementDisk.h create mode 100644 jni/elementManager.cpp create mode 100644 jni/elementManager.h create mode 100644 jni/elementMesh.cpp create mode 100644 jni/elementMesh.h create mode 100644 jni/elementPolygone.cpp create mode 100644 jni/elementPolygone.h create mode 100644 jni/elementRectangle.cpp create mode 100644 jni/elementRectangle.h diff --git a/jni/Main.cpp b/jni/Main.cpp index ecd8f2f..9e16c25 100644 --- a/jni/Main.cpp +++ b/jni/Main.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include @@ -57,7 +58,9 @@ class MaListExemple : public ewol::List { public: - MaListExemple(void) { }; + MaListExemple(void) { + RegisterMultiCast(drawMsgListElementChange); + }; ~MaListExemple(void) { }; /* virtual color_ts GetBasicBG(void) { @@ -77,22 +80,19 @@ class MaListExemple : public ewol::List return true; }; uint32_t GetNuberOfRaw(void) { - return 3; + return drawElement::Size(); }; bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg) { - switch (raw) { - case 0: - myTextToWrite = "Ligne 1"; - break; - case 1: - myTextToWrite = "ma ligne 2"; - break; - case 2: - myTextToWrite = "test de clipping du text et plus si afinitee"; - break; - default: - myTextToWrite = "ERROR"; - break; + drawElement::Base* elementLocal = drawElement::Get(raw); + myTextToWrite = "["; + myTextToWrite += raw; + myTextToWrite += "] "; + if (NULL == elementLocal) { + myTextToWrite += "????"; + } else { + myTextToWrite += elementLocal->GetType(); + myTextToWrite += "-"; + myTextToWrite += elementLocal->GetName(); } fg.red = 0.0; fg.green = 0.0; @@ -118,7 +118,19 @@ class MaListExemple : public ewol::List } return false; } - + /** + * @brief Receive a message from an other EObject with a specific eventId and data + * @param[in] CallerObject Pointer on the EObject that information came from + * @param[in] eventId Message registered by this class + * @param[in] data Data registered by this class + * @return --- + */ + virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data) + { + if (eventId == drawMsgListElementChange) { + MarkToReedraw(); + } + } }; @@ -151,19 +163,19 @@ class MainWindows :public ewol::Windows (void)myMenu->Add(idMenuFile, "Save", "", drawMsgGuiSave); (void)myMenu->Add(idMenuFile, "Save As ...", "", drawMsgGuiSaveAs); (void)myMenu->AddSpacer(); + /* int32_t idMenuEdit = myMenu->AddTitle("Edit"); (void)myMenu->Add(idMenuEdit, "Undo", "", drawMsgGuiUndo); (void)myMenu->Add(idMenuEdit, "Redo", "", drawMsgGuiRedo); + */ int32_t idMenuElement = myMenu->AddTitle("Element"); - (void)myMenu->Add(idMenuElement, "Element new", "", drawMsgGuiElementNew); - (void)myMenu->Add(idMenuElement, "Element Remove", "", drawMsgGuiElementRemove); - (void)myMenu->Add(idMenuElement, "Element hide/show", "", drawMsgGuiElementHideShow); - (void)myMenu->AddSpacer(); - (void)myMenu->Add(idMenuElement, "Dot Add", "", drawMsgGuiDotAdd); - (void)myMenu->Add(idMenuElement, "Dot Rm", "", drawMsgGuiDotRm); - (void)myMenu->AddSpacer(); - (void)myMenu->Add(idMenuElement, "Link Start", "", drawMsgGuiLinkStart); - (void)myMenu->Add(idMenuElement, "Link Stop", "", drawMsgGuiLinkStop); + (void)myMenu->Add(idMenuElement, "new mesh", "", drawMsgGuiElementNewMesh); + (void)myMenu->Add(idMenuElement, "new circle", "", drawMsgGuiElementNewCircle); + (void)myMenu->Add(idMenuElement, "new disk", "", drawMsgGuiElementNewDisk); + (void)myMenu->Add(idMenuElement, "new rectangle", "", drawMsgGuiElementNewRectangle); + (void)myMenu->Add(idMenuElement, "new polygone", "", drawMsgGuiElementNewPolygone); + (void)myMenu->Add(idMenuElement, "Remove", "", drawMsgGuiElementRemove); + (void)myMenu->Add(idMenuElement, "hide/show", "", drawMsgGuiElementHideShow); // generate the display : ewol::SizerHori * mySizer = new ewol::SizerHori(); @@ -228,6 +240,13 @@ class MainWindows :public ewol::Windows RegisterMultiCast(drawMsgGuiOpen); RegisterMultiCast(drawMsgGuiSave); + RegisterMultiCast(drawMsgGuiElementNewMesh); + RegisterMultiCast(drawMsgGuiElementNewCircle); + RegisterMultiCast(drawMsgGuiElementNewDisk); + RegisterMultiCast(drawMsgGuiElementNewRectangle); + RegisterMultiCast(drawMsgGuiElementNewPolygone); + RegisterMultiCast(drawMsgGuiElementRemove); + RegisterMultiCast(drawMsgGuiElementHideShow); }; ~MainWindows(void) @@ -304,6 +323,16 @@ class MainWindows :public ewol::Windows } } } + } else if (eventId == drawMsgGuiElementNewMesh) { + drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_MESH); + } else if (eventId == drawMsgGuiElementNewCircle) { + drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_CIRCLE); + } else if (eventId == drawMsgGuiElementNewDisk) { + drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_DISK); + } else if (eventId == drawMsgGuiElementNewRectangle) { + drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_RECTANGLE); + } else if (eventId == drawMsgGuiElementNewPolygone) { + drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_POLYGONE); } return; }; diff --git a/jni/elementBase.cpp b/jni/elementBase.cpp new file mode 100644 index 0000000..32c5c14 --- /dev/null +++ b/jni/elementBase.cpp @@ -0,0 +1,29 @@ +/** + ******************************************************************************* + * @file elementBase.h + * @brief ewol drawer element Base (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + +drawElement::Base::Base(const char* type) +{ + m_name = "NoName"; + m_type = type; + m_visible = true; +} + +drawElement::Base::~Base(void) +{ + +} diff --git a/jni/elementBase.h b/jni/elementBase.h new file mode 100644 index 0000000..690e95e --- /dev/null +++ b/jni/elementBase.h @@ -0,0 +1,52 @@ +/** + ******************************************************************************* + * @file elementBase.h + * @brief ewol drawer element Base (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_BASE_H__ +#define __ELEMENT_BASE_H__ + +#include +#include +#include + +namespace drawElement { + class Base + { + public: + Base(const char* type); + virtual ~Base(void); + private: + etk::UString m_name; + const char* m_type; + bool m_visible; + public: + void SetName(etk::UString name) { m_name = name; }; + etk::UString GetName(void) { return m_name; }; + const char* GetType(void) { return m_type; }; + void Show(void) { m_visible = true; }; + void Hide(void) { m_visible = false; }; + bool GetVisible(void) { return m_visible; }; + public: + virtual void Draw(ewol::OObject2DColored &OObjects)=0; + }; +}; + +#include +#include +#include +#include +#include + +#endif + diff --git a/jni/elementCircle.cpp b/jni/elementCircle.cpp new file mode 100644 index 0000000..92621d2 --- /dev/null +++ b/jni/elementCircle.cpp @@ -0,0 +1,36 @@ +/** + ******************************************************************************* + * @file elementCircle.cpp + * @brief ewol drawer element Circle (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + + +drawElement::Circle::Circle(void) : Base("Circle") +{ + +} + +drawElement::Circle::~Circle(void) +{ + +} + +void drawElement::Circle::Draw(ewol::OObject2DColored &OObjects) +{ + OObjects.SetColor(1.0, 0.0, 1.0, 1.0); + OObjects.Circle(0.2, 0.2, 0.3, 0.05); +} + + diff --git a/jni/elementCircle.h b/jni/elementCircle.h new file mode 100644 index 0000000..b95b49d --- /dev/null +++ b/jni/elementCircle.h @@ -0,0 +1,35 @@ +/** + ******************************************************************************* + * @file elementCircle.h + * @brief ewol drawer element Circle (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_CIRCLE_H__ +#define __ELEMENT_CIRCLE_H__ + +namespace drawElement { + class Circle : public drawElement::Base + { + public: + Circle(void); + virtual ~Circle(void); + private: + + public: + + public: + virtual void Draw(ewol::OObject2DColored &OObjects); + }; +}; + +#endif + diff --git a/jni/elementDisk.cpp b/jni/elementDisk.cpp new file mode 100644 index 0000000..c9497ab --- /dev/null +++ b/jni/elementDisk.cpp @@ -0,0 +1,41 @@ +/** + ******************************************************************************* + * @file elementDisk.cpp + * @brief ewol drawer element disk (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + + + + +drawElement::Disk::Disk(void) : Base("Disk") +{ + +} + +drawElement::Disk::~Disk(void) +{ + +} + +void drawElement::Disk::Draw(ewol::OObject2DColored &OObjects) +{ + OObjects.SetColor(0.0, 1.0, 1.0, 1.0); + OObjects.Disc(0.7, 0.7, 0.3); +} + + + + + diff --git a/jni/elementDisk.h b/jni/elementDisk.h new file mode 100644 index 0000000..e367f61 --- /dev/null +++ b/jni/elementDisk.h @@ -0,0 +1,35 @@ +/** + ******************************************************************************* + * @file elementDisk.h + * @brief ewol drawer element disk (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_DISK_H__ +#define __ELEMENT_DISK_H__ + +namespace drawElement { + class Disk : public drawElement::Base + { + public: + Disk(void); + virtual ~Disk(void); + private: + + public: + + public: + virtual void Draw(ewol::OObject2DColored &OObjects); + }; +}; + +#endif + diff --git a/jni/elementManager.cpp b/jni/elementManager.cpp new file mode 100644 index 0000000..156c5ec --- /dev/null +++ b/jni/elementManager.cpp @@ -0,0 +1,107 @@ +/** + ******************************************************************************* + * @file elementManager.cpp + * @brief ewol drawer element manager (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include +#include +#include +#include + +static etk::VectorType l_listElements; + +void drawElement::RemoveAll(void) +{ + for (int32_t iii=l_listElements.Size()-1; iii>=0; iii--) { + if (l_listElements[iii]!=NULL) { + delete(l_listElements[iii]); + l_listElements[iii] = NULL; + } + } + l_listElements.Clear(); + etk::UString tmpString(""); + ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString); +} + +int32_t drawElement::Size(void) +{ + return l_listElements.Size(); +} + +drawElement::Base* drawElement::Get(int32_t id) +{ + if (id < l_listElements.Size() && id >=0) { + return l_listElements[id]; + } + return NULL; +} + +void drawElement::Rm(int32_t id) +{ + if (id < l_listElements.Size() && id >=0) { + if (l_listElements[id]!=NULL) { + delete(l_listElements[id]); + l_listElements[id] = NULL; + } + l_listElements.Erase(id); + } + etk::UString tmpString(""); + ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString); +} + +void drawElement::Add(elementType_te type) +{ + drawElement::Base* newElement = NULL; + switch(type) { + case drawElement::DRAW_ELEMENT_TYPE_CIRCLE: + newElement = new drawElement::Circle(); + break; + case drawElement::DRAW_ELEMENT_TYPE_DISK: + newElement = new drawElement::Disk(); + break; + case drawElement::DRAW_ELEMENT_TYPE_MESH: + newElement = new drawElement::Mesh(); + break; + case drawElement::DRAW_ELEMENT_TYPE_POLYGONE: + newElement = new drawElement::Polygone(); + break; + case drawElement::DRAW_ELEMENT_TYPE_RECTANGLE: + newElement = new drawElement::Rectangle(); + break; + default: + DRAW_ERROR("Unknow element type : " << type); + return; + } + if (NULL == newElement) { + DRAW_ERROR("Ellocation ERROR in the new element ... "); + return; + } + l_listElements.PushBack(newElement); + etk::UString tmpString(""); + ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString); +} + +void drawElement::Up(int32_t id) +{ + + etk::UString tmpString(""); + ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString); +} + +void drawElement::Down(int32_t id) +{ + + etk::UString tmpString(""); + ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString); +} diff --git a/jni/elementManager.h b/jni/elementManager.h new file mode 100644 index 0000000..689bede --- /dev/null +++ b/jni/elementManager.h @@ -0,0 +1,41 @@ +/** + ******************************************************************************* + * @file elementManager.h + * @brief ewol drawer element manager (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_MANAGER_H__ +#define __ELEMENT_MANAGER_H__ + +#include + +namespace drawElement { + typedef enum { + DRAW_ELEMENT_TYPE_CIRCLE, + DRAW_ELEMENT_TYPE_DISK, + DRAW_ELEMENT_TYPE_MESH, + DRAW_ELEMENT_TYPE_POLYGONE, + DRAW_ELEMENT_TYPE_RECTANGLE, + }elementType_te; + + void RemoveAll(void); + int32_t Size(void); + drawElement::Base * Get(int32_t id); + void Rm(int32_t id); + void Add(elementType_te type); + void Up(int32_t id); + void Down(int32_t id); + +}; + +#endif + diff --git a/jni/elementMesh.cpp b/jni/elementMesh.cpp new file mode 100644 index 0000000..5b5c222 --- /dev/null +++ b/jni/elementMesh.cpp @@ -0,0 +1,37 @@ +/** + ******************************************************************************* + * @file elementMesh.cpp + * @brief ewol drawer element mesh (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + + +drawElement::Mesh::Mesh(void) : Base("Mesh") +{ + +} + +drawElement::Mesh::~Mesh(void) +{ + +} + +void drawElement::Mesh::Draw(ewol::OObject2DColored &OObjects) +{ + OObjects.SetColor(0.0, 1.0, 0.0, 1.0); +} + + + + diff --git a/jni/elementMesh.h b/jni/elementMesh.h new file mode 100644 index 0000000..ef48d1a --- /dev/null +++ b/jni/elementMesh.h @@ -0,0 +1,35 @@ +/** + ******************************************************************************* + * @file elementMesh.h + * @brief ewol drawer element mesh (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_MESH_H__ +#define __ELEMENT_MESH_H__ + +namespace drawElement { + class Mesh : public drawElement::Base + { + public: + Mesh(void); + virtual ~Mesh(void); + private: + + public: + + public: + virtual void Draw(ewol::OObject2DColored &OObjects); + }; +}; + +#endif + diff --git a/jni/elementPolygone.cpp b/jni/elementPolygone.cpp new file mode 100644 index 0000000..2dd5d81 --- /dev/null +++ b/jni/elementPolygone.cpp @@ -0,0 +1,37 @@ +/** + ******************************************************************************* + * @file elementPolygone.cpp + * @brief ewol drawer element polygone (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + + +drawElement::Polygone::Polygone(void) : Base("Polygone") +{ + +} + +drawElement::Polygone::~Polygone(void) +{ + +} + +void drawElement::Polygone::Draw(ewol::OObject2DColored &OObjects) +{ + OObjects.SetColor(0.0, 0.0, 1.0, 1.0); +} + + + + diff --git a/jni/elementPolygone.h b/jni/elementPolygone.h new file mode 100644 index 0000000..52ccc8d --- /dev/null +++ b/jni/elementPolygone.h @@ -0,0 +1,35 @@ +/** + ******************************************************************************* + * @file elementPolygone.h + * @brief ewol drawer element polygone (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_POLYGONE_H__ +#define __ELEMENT_POLYGONE_H__ + +namespace drawElement { + class Polygone : public drawElement::Base + { + public: + Polygone(void); + virtual ~Polygone(void); + private: + + public: + + public: + virtual void Draw(ewol::OObject2DColored &OObjects); + }; +}; + +#endif + diff --git a/jni/elementRectangle.cpp b/jni/elementRectangle.cpp new file mode 100644 index 0000000..8829b74 --- /dev/null +++ b/jni/elementRectangle.cpp @@ -0,0 +1,38 @@ +/** + ******************************************************************************* + * @file elementRectangle.cpp + * @brief ewol drawer element Rectangle (Sources) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#include +#include + + +drawElement::Rectangle::Rectangle(void) : Base("Rectangle") +{ + +} + +drawElement::Rectangle::~Rectangle(void) +{ + +} + +void drawElement::Rectangle::Draw(ewol::OObject2DColored &OObjects) +{ + OObjects.SetColor(1.0, 0.0, 0.0, 1.0); + OObjects.Rectangle(0.5, 0.5, 0.3, 0.3); +} + + + + diff --git a/jni/elementRectangle.h b/jni/elementRectangle.h new file mode 100644 index 0000000..40f9763 --- /dev/null +++ b/jni/elementRectangle.h @@ -0,0 +1,35 @@ +/** + ******************************************************************************* + * @file elementRectangle.h + * @brief ewol drawer element Rectangle (header) + * @author Edouard DUPIN + * @date 14/03/2012 + * @par Project + * EwolDrawer + * + * @par Copyright + * Copyright 2010 Edouard DUPIN, all right reserved + * + ******************************************************************************* + */ + +#ifndef __ELEMENT_RECTANGLE_H__ +#define __ELEMENT_RECTANGLE_H__ + +namespace drawElement { + class Rectangle : public drawElement::Base + { + public: + Rectangle(void); + virtual ~Rectangle(void); + private: + + public: + + public: + virtual void Draw(ewol::OObject2DColored &OObjects); + }; +}; + +#endif + diff --git a/jni/file.mk b/jni/file.mk index 357fadc..c61b650 100644 --- a/jni/file.mk +++ b/jni/file.mk @@ -4,5 +4,12 @@ FILE_LIST = Main.cpp \ Debug.cpp \ globalMsg.cpp \ widgetDrawer.cpp \ + elementManager.cpp \ + elementBase.cpp \ + elementCircle.cpp \ + elementDisk.cpp \ + elementMesh.cpp \ + elementPolygone.cpp \ + elementRectangle.cpp diff --git a/jni/globalMsg.cpp b/jni/globalMsg.cpp index 421f10f..ba0bfa3 100644 --- a/jni/globalMsg.cpp +++ b/jni/globalMsg.cpp @@ -27,11 +27,17 @@ extern const char* const drawMsgGuiSaveAs = "draw-Msg-Gui-SaveAs"; extern const char* const drawMsgGuiUndo = "draw-Msg-Gui-Undo"; extern const char* const drawMsgGuiRedo = "draw-Msg-Gui-Redo"; -extern const char* const drawMsgGuiElementNew = "draw-Msg-Gui-Element-new"; -extern const char* const drawMsgGuiElementRemove = "draw-Msg-Gui-Element-remove"; -extern const char* const drawMsgGuiElementHideShow = "draw-Msg-Gui-Element-hide"; -extern const char* const drawMsgGuiDotAdd = "draw-Msg-Gui-Dot-Add"; -extern const char* const drawMsgGuiDotRm = "draw-Msg-Gui-Dot-Rm"; -extern const char* const drawMsgGuiLinkStart = "draw-Msg-Gui-Link-Start"; -extern const char* const drawMsgGuiLinkStop = "draw-Msg-Gui-Link-Stop"; -extern const char* const drawMsgGuiLinkNew = "draw-Msg-Gui-Link-New"; +extern const char* const drawMsgGuiElementNewMesh = "draw-Msg-Gui-Element-new-mesh"; +extern const char* const drawMsgGuiElementNewCircle = "draw-Msg-Gui-Element-new-circle"; +extern const char* const drawMsgGuiElementNewDisk = "draw-Msg-Gui-Element-new-disk"; +extern const char* const drawMsgGuiElementNewRectangle = "draw-Msg-Gui-Element-new-rectangle"; +extern const char* const drawMsgGuiElementNewPolygone = "draw-Msg-Gui-Element-new-polygone"; +extern const char* const drawMsgGuiElementRemove = "draw-Msg-Gui-Element-remove"; +extern const char* const drawMsgGuiElementHideShow = "draw-Msg-Gui-Element-hide"; +extern const char* const drawMsgGuiDotAdd = "draw-Msg-Gui-Dot-Add"; +extern const char* const drawMsgGuiDotRm = "draw-Msg-Gui-Dot-Rm"; +extern const char* const drawMsgGuiLinkStart = "draw-Msg-Gui-Link-Start"; +extern const char* const drawMsgGuiLinkStop = "draw-Msg-Gui-Link-Stop"; +extern const char* const drawMsgGuiLinkNew = "draw-Msg-Gui-Link-New"; + +extern const char* const drawMsgListElementChange = "draw-Msg-list_elemeChange"; \ No newline at end of file diff --git a/jni/globalMsg.h b/jni/globalMsg.h index d4190b3..83b5cb4 100644 --- a/jni/globalMsg.h +++ b/jni/globalMsg.h @@ -30,7 +30,11 @@ extern const char* const drawMsgGuiUndo; // data : "" extern const char* const drawMsgGuiRedo; // data : "" - extern const char* const drawMsgGuiElementNew; + extern const char* const drawMsgGuiElementNewMesh; + extern const char* const drawMsgGuiElementNewCircle; + extern const char* const drawMsgGuiElementNewDisk; + extern const char* const drawMsgGuiElementNewRectangle; + extern const char* const drawMsgGuiElementNewPolygone; extern const char* const drawMsgGuiElementRemove; extern const char* const drawMsgGuiElementHideShow; extern const char* const drawMsgGuiDotAdd; @@ -38,6 +42,8 @@ extern const char* const drawMsgGuiLinkStart; extern const char* const drawMsgGuiLinkStop; extern const char* const drawMsgGuiLinkNew; + + extern const char* const drawMsgListElementChange; #endif diff --git a/jni/widgetDrawer.cpp b/jni/widgetDrawer.cpp index 279592f..615e318 100644 --- a/jni/widgetDrawer.cpp +++ b/jni/widgetDrawer.cpp @@ -628,6 +628,7 @@ void widgetDrawer::Save(void) TiXmlElement * element = new TiXmlElement( "element" ); element->SetAttribute( "name", "???" ); + element->SetAttribute( "type", "mesh" ); mastertElement->LinkEndChild( element ); for(int32_t iii=0; iii