#ifndef GWt_elementLigneFaisceau_SEEN #define GWt_elementLigneFaisceau_SEEN #include "GWt_abstractElement.h" #include "GWt_dropZoneLigneFaisceau.h" #include "GWt_pspaApplication.h" #include using namespace Wt; class GWt_elementLigneFaisceau : public WContainerWidget { public : /** dropZone element a drop zone is the basic element for a widget in the ligne faisceau drop zone area it should be like this : +----------+--------+---------+ | (--->) | ELEM | (-----) | +----------+--------+---------+ | NAME | +----------+--------+---------+ ELEM : Element representation, draggable object (----) and (---->) : Droppable zone, contain arrows or line if this element is connected to another NAME : editable element name At first time, the ELEM element is replace by a message. */ GWt_elementLigneFaisceau(PspaApplication*,GWt_ligneFaisceau*); GWt_elementLigneFaisceau(nomdElements::typedElement,PspaApplication*,GWt_ligneFaisceau*); ~GWt_elementLigneFaisceau(); void addElement(GWt_abstractElement* elem); inline WText* getElementName() { return elementLabel_; } inline WText* getElementIcon() { return elementLabel_; } void setElementLabel(std::string label); void update(); inline GWt_dropZoneLigneFaisceau* getDropZoneLeft() { return dropZoneLeft_; } inline GWt_dropZoneLigneFaisceau* getDropZoneRight() { return dropZoneRight_; } inline GWt_abstractElement* getGWt_AbstractElement() { return GWt_abstractElement_; } inline void setSoftwareName(std::string name) { softwareName_ =new WText(name); } private: void removeDone(GWt_abstractElement*); std::string getElementNumberInBeamLine(nomdElements el); void initialize_ligneFaisceau(nomdElements::typedElement eType,GWt_ligneFaisceau* ligne); void mouseWentOut(); void mouseWentOver(); void setBGColor(const WColor); GWt_dialog* messageDropZone_; WText* firstTimeInsertMessage_; GWt_dropZoneLigneFaisceau* dropZoneLeft_; GWt_dropZoneLigneFaisceau* dropZoneRight_; WText* elementLabel_; PspaApplication* pspa_; GWt_abstractElement* GWt_abstractElement_; WContainerWidget* elementContainer_; WText* actionParameters_; WText* actionTrash_; WText* softwareName_; }; #endif