Antares Simulator
Power System Simulator
panel.h
1 /*
2  * Copyright 2007-2025, RTE (https://www.rte-france.com)
3  * See AUTHORS.txt
4  * SPDX-License-Identifier: MPL-2.0
5  * This file is part of Antares-Simulator,
6  * Adequacy and Performance assessment for interconnected energy networks.
7  *
8  * Antares_Simulator is free software: you can redistribute it and/or modify
9  * it under the terms of the Mozilla Public Licence 2.0 as published by
10  * the Mozilla Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Antares_Simulator is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * Mozilla Public Licence 2.0 for more details.
17  *
18  * You should have received a copy of the Mozilla Public Licence 2.0
19  * along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20  */
21 #ifndef __ANTARES_COMMON_COMPONENTS_PANEL_PANEL_H__
22 #define __ANTARES_COMMON_COMPONENTS_PANEL_PANEL_H__
23 
24 #include <yuni/yuni.h>
25 #include "../../wx-wrapper.h"
26 #include <wx/panel.h>
27 
28 namespace Antares::Component
29 {
33 class Panel: public wxPanel
34 {
35 public:
40 
41 public:
43 
44 
47  Panel(wxWindow* parent);
49  virtual ~Panel();
50 
52 
54  virtual void onMouseDown(wxMouseEvent&)
55  {
56  }
57 
59  virtual void onMouseUp(wxMouseEvent&)
60  {
61  }
62 
64  virtual void onMouseClick()
65  {
66  }
67 
69  virtual void onMouseEnter()
70  {
71  }
72 
74  virtual void onMouseLeave()
75  {
76  }
77 
79  virtual void onMouseMoved(int /*x*/, int /*y*/)
80  {
81  }
82 
83 protected:
84  virtual bool triggerMouseClickEvent() const
85  {
86  return true;
87  }
88 
89 private:
91  void onInternalMotion(wxMouseEvent&);
92  void onInternalMouseUp(wxMouseEvent&);
93  void onInternalMouseDown(wxMouseEvent&);
94 
95 }; // class Panel
96 
97 } // namespace Antares::Component
98 
99 #endif // __ANTARES_COMMON_COMPONENTS_PANEL_PANEL_H__
Panel implementation.
Definition: panel.h:34
virtual void onMouseMoved(int, int)
The mouse has moved.
Definition: panel.h:79
static void OnMouseMoveFromExternalComponent()
Event triggered by any other component (not derived from Panel)
Definition: panel.cpp:90
virtual void onMouseDown(wxMouseEvent &)
Click down.
Definition: panel.h:54
virtual ~Panel()
Destructor.
Definition: panel.cpp:50
virtual void onMouseClick()
The panel has been clicked (delayed)
Definition: panel.h:64
virtual void onMouseUp(wxMouseEvent &)
Click up.
Definition: panel.h:59
Panel(wxWindow *parent)
Constructor.
Definition: panel.cpp:32
virtual void onMouseEnter()
The mouse has entered.
Definition: panel.h:69
virtual void onMouseLeave()
The mouse has leaved.
Definition: panel.h:74