Expand Documentation for class Pinnable.
This commit is contained in:
@@ -16,23 +16,34 @@
|
||||
|
||||
namespace JUI {
|
||||
|
||||
/// The pinnable mixin class. Designates a widget as "pinned" or not, which, depending on the derived classes' semantics, may lock it open or in it's current place.
|
||||
class Pinnable {
|
||||
public:
|
||||
|
||||
|
||||
Pinnable() = default;
|
||||
virtual ~Pinnable() = default;
|
||||
|
||||
Event<> OnPin;
|
||||
Event<> OnUnpin;
|
||||
|
||||
/// Sets the object as "Pinned". Position and visibility status will be locked.
|
||||
void Pin();
|
||||
void Unpin();
|
||||
/// Sets the object as "Pinned". Depending on the widget, position and visibility status will be locked.
|
||||
/// @see Unpin(), SetPinned().
|
||||
virtual void Pin();
|
||||
|
||||
/// Sets the object as "Unpinned".
|
||||
/// @see Pin(), SetPinned().
|
||||
virtual void Unpin();
|
||||
|
||||
/// Sets the objects pinned status manually.
|
||||
void SetPinned(bool pinned);
|
||||
|
||||
/// Called when the pinned status changes, and triggers callback event signals.
|
||||
virtual void OnPinStatusChanged(bool new_status);
|
||||
|
||||
bool Pinned() const;
|
||||
|
||||
protected:
|
||||
bool pinned = false;
|
||||
|
||||
// TODO: Implement position pinning, both relative to parent and global.
|
||||
bool pin_point_is_relative = true;
|
||||
@@ -41,5 +52,6 @@ namespace JUI {
|
||||
bool pinned_visibility = false;
|
||||
|
||||
private:
|
||||
bool pinned = false;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user