Fixed Window close button simply setting the element to invisible and not properly calling Open()/Close() procedure.
This commit is contained in:
@@ -34,6 +34,9 @@ namespace JUI {
|
||||
/// which can be dragged around, resized, and docked into other applicable widgets.
|
||||
class Window : public Widget, public RectBase, public Clickable, public Hoverable, public Draggable, public Resizable, public Dockable {
|
||||
public:
|
||||
Event<> OnOpen;
|
||||
Event<> OnClose;
|
||||
|
||||
/// The default constructor sets a default style for this Window.
|
||||
Window();
|
||||
/// Construct a window widget by specifying it's parent.
|
||||
@@ -173,8 +176,13 @@ namespace JUI {
|
||||
{
|
||||
// TODO: Consider how this plays with Clickable::OnClick and Clickable::OnRelease
|
||||
|
||||
if (this->visible && this->focused)
|
||||
return Widget::ObserveMouseInput(btn, pressed);
|
||||
if (visible) {
|
||||
if (!pressed)
|
||||
return Widget::ObserveMouseInput(btn, false);
|
||||
|
||||
if (this->focused)
|
||||
return Widget::ObserveMouseInput(btn, pressed);
|
||||
}
|
||||
|
||||
// Special case to allow drop of "Resizing"
|
||||
if (btn == MouseButton::Right && pressed == false)
|
||||
@@ -184,10 +192,12 @@ namespace JUI {
|
||||
}
|
||||
|
||||
[[nodiscard]] bool IsOpen() const;
|
||||
void Open();
|
||||
void Close();
|
||||
void SetOpen(bool value);
|
||||
void Toggle();
|
||||
[[nodiscard]] bool IsClosed() const;
|
||||
|
||||
virtual void Open();
|
||||
virtual void Close();
|
||||
virtual void SetOpen(bool value);
|
||||
virtual void Toggle();
|
||||
|
||||
protected:
|
||||
void UpdateInternalWidgetsTitlebarHeight();
|
||||
|
Reference in New Issue
Block a user