mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-11-04 05:28:15 +08:00 
			
		
		
		
	Add documentation for options.
This commit is contained in:
		
				
					committed by
					
						
						Arthur Sonzogni
					
				
			
			
				
	
			
			
			
						parent
						
							fac373494d
						
					
				
				
					commit
					f53dc139e9
				
			@@ -5,56 +5,68 @@
 | 
			
		||||
 | 
			
		||||
namespace ftxui {
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Menu component.
 | 
			
		||||
struct MenuOption {
 | 
			
		||||
  Decorator normal_style = nothing;
 | 
			
		||||
  Decorator focused_style = inverted;
 | 
			
		||||
  Decorator selected_style = bold;
 | 
			
		||||
  Decorator selected_focused_style = focused_style | selected_style;
 | 
			
		||||
  Decorator style_normal = nothing;    /// style.
 | 
			
		||||
  Decorator style_focused = inverted;  /// Style when focused.
 | 
			
		||||
  Decorator style_selected = bold;     /// Style when selected.
 | 
			
		||||
  Decorator style_selected_focused =
 | 
			
		||||
      Decorator(inverted) | bold;  /// Style when selected and focused.
 | 
			
		||||
 | 
			
		||||
  // State update callback.
 | 
			
		||||
  std::function<void()> on_change = []() {};
 | 
			
		||||
  std::function<void()> on_enter = []() {};
 | 
			
		||||
  /// Called when the selected entry changes.
 | 
			
		||||
  std::function<void()> on_change = [] {};
 | 
			
		||||
  /// Called when the user presses enter.
 | 
			
		||||
  std::function<void()> on_enter = [] {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Button component.
 | 
			
		||||
struct ButtonOption {
 | 
			
		||||
  /// Whether to show a border around the button.
 | 
			
		||||
  bool border = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Checkbox component.
 | 
			
		||||
struct CheckboxOption {
 | 
			
		||||
  std::wstring checked = L"▣ ";    /// Prefix for a "checked" state.
 | 
			
		||||
  std::wstring unchecked = L"☐ ";  /// Prefix for a "unchecked" state.
 | 
			
		||||
 | 
			
		||||
  Decorator focused_style = inverted;   /// Decorator used when focused.
 | 
			
		||||
  Decorator unfocused_style = nothing;  /// Decorator used when unfocused.
 | 
			
		||||
  std::wstring style_checked = L"▣ ";    /// Prefix for a "checked" state.
 | 
			
		||||
  std::wstring style_unchecked = L"☐ ";  /// Prefix for a "unchecked" state.
 | 
			
		||||
  Decorator style_focused = inverted;    /// Decorator used when focused.
 | 
			
		||||
  Decorator style_unfocused = nothing;   /// Decorator used when unfocused.
 | 
			
		||||
 | 
			
		||||
  /// Called when the user change the state.
 | 
			
		||||
  std::function<void()> on_change = []() {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Input component.
 | 
			
		||||
struct InputOption {
 | 
			
		||||
  /// Called when the content changes.
 | 
			
		||||
  std::function<void()> on_change = [] {};
 | 
			
		||||
  /// Called when the user presses enter.
 | 
			
		||||
  std::function<void()> on_enter = [] {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Radiobox component.
 | 
			
		||||
struct RadioboxOption {
 | 
			
		||||
  std::wstring checked = L"◉ ";
 | 
			
		||||
  std::wstring unchecked = L"○ ";
 | 
			
		||||
 | 
			
		||||
  Decorator focused_style = inverted;
 | 
			
		||||
  Decorator unfocused_style = nothing;
 | 
			
		||||
  std::wstring style_checked = L"◉ ";    /// Prefix for a "checked" state.
 | 
			
		||||
  std::wstring style_unchecked = L"○ ";  /// Prefix for a "unchecked" state.
 | 
			
		||||
  Decorator style_focused = inverted;    /// Decorator used when focused.
 | 
			
		||||
  Decorator style_unfocused = nothing;   /// Decorator used when unfocused.
 | 
			
		||||
 | 
			
		||||
  /// Called when the selected entry changes.
 | 
			
		||||
  std::function<void()> on_change = []() {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief Option for the Toggle component.
 | 
			
		||||
struct ToggleOption {
 | 
			
		||||
  Decorator normal_style = dim;
 | 
			
		||||
  Decorator focused_style = inverted;
 | 
			
		||||
  Decorator selected_style = bold;
 | 
			
		||||
  Decorator selected_focused_style = focused_style | selected_style;
 | 
			
		||||
  Decorator style_normal = nothing;    /// style.
 | 
			
		||||
  Decorator style_focused = inverted;  /// Style when focused.
 | 
			
		||||
  Decorator style_selected = bold;     /// Style when selected.
 | 
			
		||||
  Decorator style_selected_focused =
 | 
			
		||||
      Decorator(inverted) | bold;  /// Style when selected and focused.
 | 
			
		||||
 | 
			
		||||
  // Callback.
 | 
			
		||||
  std::function<void()> on_change = []() {};
 | 
			
		||||
  std::function<void()> on_enter = []() {};
 | 
			
		||||
  /// Called when the selected entry changes.
 | 
			
		||||
  std::function<void()> on_change = [] {};
 | 
			
		||||
  /// Called when the user presses enter.
 | 
			
		||||
  std::function<void()> on_enter = [] {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
};  // namespace ftxui
 | 
			
		||||
 
 | 
			
		||||
@@ -6,12 +6,12 @@
 | 
			
		||||
 | 
			
		||||
namespace ftxui {
 | 
			
		||||
 | 
			
		||||
// An adapter for a const object referenced or owned.
 | 
			
		||||
/// @brief An adapter. Own or reference a constant object.
 | 
			
		||||
template <typename T>
 | 
			
		||||
class ConstRef {
 | 
			
		||||
 public:
 | 
			
		||||
  ConstRef() {}
 | 
			
		||||
  ConstRef(T t): owned_(t) {}
 | 
			
		||||
  ConstRef(T t) : owned_(t) {}
 | 
			
		||||
  ConstRef(const T* t) : address_(t) {}
 | 
			
		||||
  const T& operator*() { return address_ ? *address_ : owned_; }
 | 
			
		||||
  const T* operator->() { return address_ ? address_ : &owned_; }
 | 
			
		||||
@@ -21,8 +21,8 @@ class ConstRef {
 | 
			
		||||
  const T* address_ = nullptr;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief For convenience, this class convert multiple mutable string
 | 
			
		||||
/// references toward a shared representation.
 | 
			
		||||
/// @brief An adapter. Own or reference a constant string. For convenience, this
 | 
			
		||||
/// class convert multiple mutable string toward a shared representation.
 | 
			
		||||
class StringRef {
 | 
			
		||||
 public:
 | 
			
		||||
  StringRef(std::wstring* ref) : address_(ref) {}
 | 
			
		||||
@@ -37,8 +37,8 @@ class StringRef {
 | 
			
		||||
  std::wstring* address_ = nullptr;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/// @brief For convenience, this class convert multiple immutable string
 | 
			
		||||
/// references toward  shared representation.
 | 
			
		||||
/// @brief An adapter. Own or reference a constant string. For convenience, this
 | 
			
		||||
/// class convert multiple immutable string toward a shared representation.
 | 
			
		||||
class ConstStringRef {
 | 
			
		||||
 public:
 | 
			
		||||
  ConstStringRef(const std::wstring* ref) : address_(ref) {}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user