dear-imgui-raw-1.0.0: src/DearImGui/Raw/Enums/ImGuiTreeNodeFlags.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Enums.ImGuiTreeNodeFlags
( ImGuiTreeNodeFlags
, pattern AllowOverlap
, pattern Bullet
, pattern CollapsingHeader
, pattern DefaultOpen
, pattern DrawLinesFull
, pattern DrawLinesNone
, pattern DrawLinesToNodes
, pattern FramePadding
, pattern Framed
, pattern LabelSpanAllColumns
, pattern Leaf
, pattern NavLeftJumpsToParent
, pattern NoAutoOpenOnLog
, pattern NoTreePushOnOpen
, pattern None
, pattern OpenOnArrow
, pattern OpenOnDoubleClick
, pattern Selected
, pattern SpanAllColumns
, pattern SpanAvailWidth
, pattern SpanFullWidth
, pattern SpanLabelWidth
) where
import Foreign.C.Types
#include "dcimgui_nodefaultargfunctions.h"
-- typedefs
-- | Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*()
type ImGuiTreeNodeFlags = CInt
-- enums
pattern None :: ImGuiTreeNodeFlags
pattern None = #{const ImGuiTreeNodeFlags_None}
-- | Draw as selected
pattern Selected :: ImGuiTreeNodeFlags
pattern Selected = #{const ImGuiTreeNodeFlags_Selected}
-- | Draw frame with background (e.g. for CollapsingHeader)
pattern Framed :: ImGuiTreeNodeFlags
pattern Framed = #{const ImGuiTreeNodeFlags_Framed}
-- | Hit testing will allow subsequent widgets to overlap this one. Require previous frame HoveredId to match before being usable. Shortcut to calling SetNextItemAllowOverlap().
pattern AllowOverlap :: ImGuiTreeNodeFlags
pattern AllowOverlap = #{const ImGuiTreeNodeFlags_AllowOverlap}
-- | Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack
pattern NoTreePushOnOpen :: ImGuiTreeNodeFlags
pattern NoTreePushOnOpen = #{const ImGuiTreeNodeFlags_NoTreePushOnOpen}
-- | Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)
pattern NoAutoOpenOnLog :: ImGuiTreeNodeFlags
pattern NoAutoOpenOnLog = #{const ImGuiTreeNodeFlags_NoAutoOpenOnLog}
-- | Default node to be open
pattern DefaultOpen :: ImGuiTreeNodeFlags
pattern DefaultOpen = #{const ImGuiTreeNodeFlags_DefaultOpen}
-- | Open on double-click instead of simple click (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined.
pattern OpenOnDoubleClick :: ImGuiTreeNodeFlags
pattern OpenOnDoubleClick = #{const ImGuiTreeNodeFlags_OpenOnDoubleClick}
-- | Open when clicking on the arrow part (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined.
pattern OpenOnArrow :: ImGuiTreeNodeFlags
pattern OpenOnArrow = #{const ImGuiTreeNodeFlags_OpenOnArrow}
-- | No collapsing, no arrow (use as a convenience for leaf nodes). Note: will always open a tree/id scope and return true. If you never use that scope, add ImGuiTreeNodeFlags_NoTreePushOnOpen.
pattern Leaf :: ImGuiTreeNodeFlags
pattern Leaf = #{const ImGuiTreeNodeFlags_Leaf}
-- | Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag!
pattern Bullet :: ImGuiTreeNodeFlags
pattern Bullet = #{const ImGuiTreeNodeFlags_Bullet}
-- | Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding() before the node.
pattern FramePadding :: ImGuiTreeNodeFlags
pattern FramePadding = #{const ImGuiTreeNodeFlags_FramePadding}
-- | Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode.
pattern SpanAvailWidth :: ImGuiTreeNodeFlags
pattern SpanAvailWidth = #{const ImGuiTreeNodeFlags_SpanAvailWidth}
-- | Extend hit box to the left-most and right-most edges (cover the indent area).
pattern SpanFullWidth :: ImGuiTreeNodeFlags
pattern SpanFullWidth = #{const ImGuiTreeNodeFlags_SpanFullWidth}
-- | Narrow hit box + narrow hovering highlight, will only cover the label text.
pattern SpanLabelWidth :: ImGuiTreeNodeFlags
pattern SpanLabelWidth = #{const ImGuiTreeNodeFlags_SpanLabelWidth}
-- | Frame will span all columns of its container table (label will still fit in current column)
pattern SpanAllColumns :: ImGuiTreeNodeFlags
pattern SpanAllColumns = #{const ImGuiTreeNodeFlags_SpanAllColumns}
-- | Label will span all columns of its container table
pattern LabelSpanAllColumns :: ImGuiTreeNodeFlags
pattern LabelSpanAllColumns = #{const ImGuiTreeNodeFlags_LabelSpanAllColumns}
-- | ImGuiTreeNodeFlags_NoScrollOnOpen = 1 << 16, // FIXME: TODO: Disable automatic scroll on TreePop() if node got just open and contents is not visible
-- Nav: left arrow moves back to parent. This is processed in TreePop() when there's an unfulfilled Left nav request remaining.
pattern NavLeftJumpsToParent :: ImGuiTreeNodeFlags
pattern NavLeftJumpsToParent = #{const ImGuiTreeNodeFlags_NavLeftJumpsToParent}
pattern CollapsingHeader :: ImGuiTreeNodeFlags
pattern CollapsingHeader = #{const ImGuiTreeNodeFlags_CollapsingHeader}
-- | [EXPERIMENTAL] Draw lines connecting TreeNode hierarchy. Discuss in GitHub issue #2920.
-- Default value is pulled from style.TreeLinesFlags. May be overridden in TreeNode calls.
-- No lines drawn
pattern DrawLinesNone :: ImGuiTreeNodeFlags
pattern DrawLinesNone = #{const ImGuiTreeNodeFlags_DrawLinesNone}
-- | Horizontal lines to child nodes. Vertical line drawn down to TreePop() position: cover full contents. Faster (for large trees).
pattern DrawLinesFull :: ImGuiTreeNodeFlags
pattern DrawLinesFull = #{const ImGuiTreeNodeFlags_DrawLinesFull}
-- | Horizontal lines to child nodes. Vertical line drawn down to bottom-most child node. Slower (for large trees).
pattern DrawLinesToNodes :: ImGuiTreeNodeFlags
pattern DrawLinesToNodes = #{const ImGuiTreeNodeFlags_DrawLinesToNodes}