VL.StandardLibs icon indicating copy to clipboard operation
VL.StandardLibs copied to clipboard

Overview

Open antongit opened this issue 2 years ago • 0 comments

Categories are from imgui.h.

Note Not all Categories/Widgets will be wrapped as nodes, some will be wrapped in a more convenient way.

Demo, Debug, Info

  • [x] DemoWindow
  • [x] MetricsWindow
  • ~~DebugLogWindow~~ - missing in .net
  • [x] StackToolWindow
  • [x] AboutWindow
  • [x] StyleEditor
  • [x] StyleSelector
  • [ ] FontSelector
  • [x] UserGuide
  • [x] GetVersion - not a widget

Styles

  • [x] Setters. See vvvv/VL.StandardLibs#50
  • [ ] SetFont (PushFont/PopFont)
  • [x] Getters
    • [x] GetFont
    • [x] GetFontSize
    • [x] GetFontTextUvWhitePixel
    • [x] GetColor
    • [x] GetStyleColor
  • [ ] StyleColorsDark
  • [ ] StyleColorsLight
  • [ ] StyleColorsClassic

Windows

  • [x] Window
  • [x] ChildWindow
  • [x] Windows Utils
    • [x] IsWindowAppearing
    • [x] IsWindowCollapsed
    • [x] IsWindowFocused
    • [x] IsWindowHovered
    • [ ] GetWindowDrawList
    • [x] GetWindowPos
    • [x] GetWindowSize (join them into GetWindowBounds?)
    • [x] GetWindowWidth
    • [x] GetWindowHeight
  • [x] Window Manipulation
    • [x] SetNextWindowPos
    • [x] SetNextWindowSize
    • [x] SetTextWindowSizeConstraints
    • [x] SetNextWindowContentSize
    • [x] SetNextWindowCollapsed
    • [x] SetNextWindowFocus
    • [x] SetNextWindowBgAlpha
    • ~~SetWindowPos~~ Not Recommended: https://github.com/ocornut/imgui/blob/2d38bc99b3b0013952d3d390397297083b767972/imgui.h#L361
    • ~~SetWindowSize (join them into SetWindowBounds?)~~
    • ~~SetWindowCollapsed~~
    • ~~SetWindowFocus~~
  • [x] Content Region
    • [x] GetContentRegionAvail
    • [x] GetContentRegionMax
    • [x] GetWindowContentRegionMin/Max
  • [x] Scrolling
    • [x] GetScrollX/Y
    • [x] SetScrollX/Y
    • [x] GetScrollMaxX/Y
    • [x] SetScrollHereX/Y
    • [x] SetScrollFromPosX/Y

Stacks (Shared)

  • [ ] AllowKeyboardFocus
  • [ ] ButtonRepeat

Stacks (CurrentWindow)

  • [x] SetItemWidth (Push/Pop)
  • [x] SetNextItemWidth
  • [x] CalcItemWidth
  • [x] SetTextWrapPos (Push/Pop)

Cursor / Layout

  • [x] Separator
  • [x] SameLine
  • [ ] NewLine
  • [x] Spacing
  • [x] Dummy
  • [x] Indent
  • [ ] Unindent
  • [x] Row
  • [x] Column
  • [x] GetCursorPos
  • [x] SetCursorPos
  • [x] GetCursorStartPos
  • [x] GetCursorScreenPos
  • [x] AlignTextToFramePadding
  • [x] GetTextLineHeight (incl GetLineHeightWithSpacing)
  • [x] GetFrameHeight (incl GetFrameHeightWithSpacing)

Widgets

  • [ ] Text
    • [ ] TextUnformatted
    • [x] Text
    • [x] TextDisabled (part of the Text node)
    • [x] Introduced Text (Multiline) (Text + SetTextWrapPosition) ?
    • [ ] Should we introduce TextBox (Text (Multiline) + ChildWindow) ?
    • [x] LabelText
    • [x] BulletText
  • [ ] Main
    • [x] Button
    • [x] SmallButton
    • ~~InvisibleButton~~
    • [x] ArrowButton
    • [ ] Image - @azeno
    • [ ] ImageButton - @azeno
    • [x] Checkbox
    • [ ] CheckboxFlags
    • [x] Radiobutton
    • [x] ProgressBar
    • [x] Bullet
  • [x] ComboBox (aka Dropdown)
  • [x] Drag Sliders
    • [x] DragFloat/2/3/4
    • [x] DragFloatRange2
    • [x] DragInt/2/3/4/
    • [x] DragIntRange2
    • ~~DragScalar~~
  • [x] Regular Sliders
    • [x] SliderFloat/2/3/4
    • [x] SliderInt2/3/4
    • ~~SliderAngle~~
    • ~~SliderScalar~~
    • [x] VSliderFloat
    • [x] VSliderInt
    • ~~VSliderScalar~~
  • [x] Input with Keyboard
    • [x] InputText
    • [x] InputTextMultiline
    • [x] InputTextWithHint
    • [x] InputFloat2/3/4
    • [x] InputInt2/3/4
    • ~~InputDouble~~
    • ~~InputScalar~~
  • [x] Color Editor/Picker
    • ~~ColorEdit3~~
    • [x] ColorEdit4
    • ~~ColorPicker3~~
    • [x] ColorPicker4
    • [x] ColorButton
    • [x] SetColorEditOptions - not sure we need it. "SetColorEditOptions() is designed to allow you to set boot-time default. We don't have Push/Pop functions because you can force options on a per-widget basis if needed,"
  • [ ] Trees
    • [ ] TreeNode - looks like we don't need it
    • [x] TreeNodeEx - is wrapped into TreeNode node.
    • [ ] TreePush - looks like we don't need it
    • [ ] TreePop - used internally by the TreeNode node.
    • [x] GetTreeNodeToLabelSpacing
    • [x] CollapsingHeader - how to handle IsVisible / Value (BSubject) pins. IsVisible says if the Header is "opened", Value sets/gets if the Header is visible at all. ?
    • [x] SetNextItemOpen
  • [x] Selectable
  • [x] ListBox
  • [x] DataPlotting
    • [x] PlotLines
    • [x] PlotHistogram
  • [x] Menus
    • [x] MenuBar
    • [x] MainMenuBar
    • [x] Menu
    • [x] MenuItem
  • [x] Tooltips
    • [x] Tooltip
    • [x] SetTooltip
  • [x] Popups, Modals
    • [x] Popup
    • [x] PopupModal = ModalWindow, see vvvv/VL.StandardLibs#44.
    • [x] OpenPopup
    • [x] CloseCurrentPopup
    • [x] IsPopupOpen
  • [x] Tables
    • [x] Table
    • [x] TableNextRow
    • [x] TableNextColumn
    • [x] TableSetColumnIndex
    • [x] TablesSetupColumn
    • [x] TableSetupScrollFreeze
    • [x] TableHeaderRow
    • [x] TableHeader
    • [x] Sorting
      • [x] TableGetSortSpecs
      • [x] TableGetColumnCount
      • [x] TableGetColumnIndex
      • [x] TableGetRowIndex
      • [x] TableGetColumnName
      • [x] TableGetColumnFlags
      • [x] TableGetColumnEnabled
      • [x] TableSetBgColor
  • [x] Tabs
    • [x] TabBar
    • [x] TabItem
    • [x] TabItemButton
    • [x] SetTabItemClosed
  • [ ] Logging
    • [ ] LogToTTY
    • [ ] LogToFile
    • [ ] LogToClipboar
    • [ ] LogFinish
    • [ ] LogButtons
    • [ ] LogText
  • [ ] Drag&Drop
    • [ ] DragDropSource
    • [ ] SetDrapDropPayload
    • [ ] DragDropTarget
    • [ ] AcceptDragDropPayload
    • [ ] GetDragDropPayload
  • [x] Disabling (Beta API)
    • [x] Disabled
  • [ ] Clipping
    • [ ] ClipRect
  • [x] Focus / Activation
    • [x] SetItemDefaultFocus
    • [x] SetKeyboardFocusHere
  • [x] Queries
    • [x] IsItemHovered
    • [x] IsItemActive
    • [x] IsItemFocused
    • [x] IsItemClicked
    • [x] IsItemVisible
    • [x] IsItemEdited
    • [x] IsItemActivated
    • [x] IsItemDeactivated
    • [x] IsItemDeactivatedAfterEdit
    • [x] IsItemToggledOpen
    • [x] IsAnyItemHovered
    • [x] IsAnyItemActive
    • [x] IsAnyItemFocused
    • [x] GetItemRectMin
    • [x] GetItemRectMax
    • [x] GetItemRectSize
    • [x] SetItemAllowOverlap
  • [ ] Background/Foreground Draw Lists
    • [ ] GetBackgroundDrawList
    • [ ] GetForegroundDrawList

Utils

  • [ ] Misc Utils
    • [x] IsRectVisible
    • [ ] GetTime
    • [ ] GetFrameCount
    • [ ] GetDrawListSharedData
    • [ ] GetStyleColorName
    • [ ] SetStateStorage
    • [ ] GetStateStorage
    • [ ] ChildFrame
  • [x] Text Utils
    • [x] CalcTextSize
  • [ ] Color Utils (Do we need them?)
    • [ ] ColorConvertU32ToFloat4
    • [ ] ColorConvertFloat4ToU32
    • [ ] ColorConvertRGBtoHSV
    • [ ] ColorConvertHSVtoRGB
  • [x] Clipboard Utils
    • [x] GetClipboardText
    • [x] SetClipboardText
  • [x] Settings Utils
    • [x] LoadIniSettingsFromDisk
    • [x] LoadIniSettingsFromMemory
    • [x] SaveIniSettingsToDisk
    • [x] SaveIniSettingsToMemory
  • [ ] Debug Utils
    • [ ] DebugTextEncoding
    • [ ] DebugCheckVersionAndDataLayout
  • [ ] Input Utils
    • [ ] Keyboard ?
    • [ ] Mouse ?
  • [ ] Memory Allocators ?

Main

  • [ ] GetIO
  • [x] GetStyle
  • [ ] NewFrame
  • [ ] EndFrame
  • [ ] Render
  • [ ] GetDrawData

Context

  • [ ] CreateContext
  • [ ] DestroyContext
  • [ ] GetCurrentContext
  • [ ] SetCurrentContext

ID Stack/Scopes

  • [x] PushID
  • [x] PopID
  • [x] GetID

Viewports

  • [x] GetMainViewport

tbc...

antongit avatar Jun 27 '22 09:06 antongit