44class Control final :
public wxScrolledWindow
94 void zoom(
const double v);
101 const wxColour& getBackgroundColor()
103 return pBackgroundColor;
105 void setBackgroundColor(
const wxColour& newColor)
107 pBackgroundColor = newColor;
117 void render(wxPaintEvent& evt);
134 void paintGraph(wxDC& dc,
bool inFile =
false);
143 void mouseMoved(wxMouseEvent& evt);
145 void mouseLeftDown(wxMouseEvent& evt);
147 void mouseWheelMoved(wxMouseEvent& evt);
149 void mouseLeftUp(wxMouseEvent& evt);
151 void rightClick(wxMouseEvent& evt);
153 void mouseLeftWindow(wxMouseEvent& evt);
155 void keyPressed(wxKeyEvent& evt);
157 void keyReleased(wxKeyEvent& evt);
159 void keyChar(wxKeyEvent& evt);
161 void mouseDblClick(wxMouseEvent& evt);
168 void setpInfosAreaCount(wxStaticText* infosAreaCount)
170 pInfosAreaCount = infosAreaCount;
172 wxStaticText* getpInfosAreaCount()
174 return pInfosAreaCount;
181 void setpInfosConnxCount(wxStaticText* infosConnxCount)
183 pInfosConnxCount = infosConnxCount;
185 wxStaticText* getpInfosConnxCount()
187 return pInfosConnxCount;
190 void setPointX(wxTextCtrl* textCtrl)
194 wxTextCtrl* getPointX()
198 void setPointY(wxTextCtrl* textCtrl)
202 wxTextCtrl* getPointY()
207 void addNewNode(uint count = 1);
208 void addNewNodeWhereTheMouseIs();
209 void addNewLoadNodeWhereTheMouseIs();
210 void addNewThermalNodeWhereTheMouseIs();
211 void addNewNuclearNodeWhereTheMouseIs();
212 void addNewCCGTNodeWhereTheMouseIs();
213 void addNewCoalNodeWhereTheMouseIs();
214 void addNewOilNodeWhereTheMouseIs();
215 void addNewHydroNodeWhereTheMouseIs();
216 void addNewPSPPNodeWhereTheMouseIs();
217 void addNewRENWNodeWhereTheMouseIs();
218 void addNewWindNodeWhereTheMouseIs();
219 void addNewSolarNodeWhereTheMouseIs();
220 void addNewBioMNodeWhereTheMouseIs();
221 void addNewVoidNodeWhereTheMouseIs();
222 void addNewVirtualNodeWhereTheMouseIs();
227 void computeBoundingBoxOfSelectedNodes();
254 void updateMouseInfosFromEvent(wxMouseEvent& evt);
260 void drawGrid(wxDC& dc);
265 void drawSelectionBox(wxDC& dc);
273 void preDrawBoundingBoxOfSelectedNodes(wxDC& dc,
const BoundingBox& bb);
275 void drawSingleNode(wxDC& dc,
Node* node);
278 void removeTools(
const Tool::LifeSpan filter);
279 Tool::Tool* findTool(
const int x,
const int y);
281 void performActionForSelectedTool();
283 void addToolsForCurrentSelection();
285 void onScroll(wxScrollWinEvent& evt);
287 void onSize(wxSizeEvent& evt);
293 mouseActionSelectionBox,
294 mouseActionMoveSelection,
300 bool pInvalidated =
true;
301 bool pInvalidatedInnerCacheSize =
true;
303 wxTextCtrl* pointX =
nullptr;
304 wxTextCtrl* pointY =
nullptr;
305 wxStaticText* pInfosAreaCount =
nullptr;
306 wxStaticText* pInfosConnxCount =
nullptr;
309 wxColour pBackgroundColor = Settings::background;
311 wxPoint pCachedRealSize;
312 wxPoint pCachedBoxSize;
313 wxPoint pCachedOrigin;
314 wxPoint pOffsetForSelectedNodes;
315 wxPoint pBottomRight;
317 bool pKeyShift =
false;
318 bool pKeyCtrl =
false;
319 wxPoint pCurrentScroll;
320 wxPoint pCurrentMousePosition;
321 wxPoint pCurrentMousePositionGraph;
322 wxPoint pCurrentClientSize;
323 wxPoint pLastMousePosition;
327 MouseAction pMouseAction = mouseActionNone;
328 BoundingBox pSelectionBox;
332 int previousMaxSizeX = -1;
333 int previousMaxSizeY = -1;
339 bool wasDrawn =
false;
342 DECLARE_EVENT_TABLE()
Drawing Context.
Definition drawingcontext.h:43