Changelog

Release 1.10.1

  • ListView: added ScrollTo(item) and ScrollToAnimated(item) functions
  • Paginator: added StopAnimation() function
  • ListViewPaginator: fixed direction problem
  • TreeView: added ScrollTo(node) and ScrollToAnimated(node) functions
  • TreeView: added FindNode() function
  • TreeView: now ScrollTo(..) and ScrollToAnimated(…) correctly work with node indentation
  • Widget Generation: added interface types support
  • Widget Generation: fixed property support

Release 1.10.0

  • Added styles support (Styles folder, new styles can be created from context menu “Create / UIWidget - Style”)
  • Added widget generation (context menu “Create / UIWidget - Widgets” on file with item class definition)
  • Added DateTime, Time24 and Time12 widgets
  • Added DateTimePicker and TimePicker widgets
  • Added ColorPickerRangeHSV widget
  • Added ColorsList widget to display list of the selected colors, should be used with ColorPicker or ColorPickerRange.
  • Added “Data Bind for Unity” support (requires Unity 5.6 or later)
  • Added base ListView Picker class for the custom ListView
  • Added base TreeView Picker class for the custom TreeView
  • Added base drop support class for the custom TreeView
  • Added base drop support class for the custom TreeView node
  • Added assembly definitions
  • Improvement: Drag can be canceled with Cancel button
  • Accordion: added AllItemsCanBeClosed option
  • Autocomplete: added GetInputFieldText() function
  • Calendar: added DateMin and DateMax properties
  • Calendar: added currentDateAsDefault option
  • ColorPicker: added Hex block
  • ColorPicker: added new palette mode HSVCircle
  • ColorPickerRange: DefaultShader replaced with DefaultShaderHorizontal and DefaultShaderVertical
  • Connectors: now works correctly with “Screen Space - Camera”
  • EasyLayout: reduced memory allocations
  • EasyLayout: EasyLayout namespace renamed to EasyLayoutNS to avoid problems with Unity 2018.2 and later
  • Interfaces: IItemWidth, IItemHeight, IListViewItemHeight, IListViewItemWidth not used anymore
  • ListView: added CenterTheItems property
  • ListView: added overridable functions CanBeSelected() and CanBeDeselected()
  • ListView: added LoopedList option
  • ListView: added Interactable option
  • ListView: added IsTable option (required to valid stylization)
  • ListView and TileView: ListViewCustomWidth, ListViewCustomHeight, TileViewCustom and TileViewCustomSize replaced with ListViewCustom with List Type option
  • ListViewCustomWidth: TItem now does not require IItemWidth implementation
  • ListViewCustomHeight: TItem now does not require IItemHeight implementation
  • ListViewDropIndicator: added styles support
  • ResizableHeader: fixed resize on touch devices
  • Sidebar: added OnOpeningStarted and OnClosingStarted, called when appropriated animation started
  • other: prefabs in “Sample Assets” folder replaced with scenes
  • other: “Standart Assets” folder renamed to “Scripts”
  • other: “Sample Assets” folder renamed to “Examples”
  • other: removed ListViewGameObjects prefab
  • other: removed outdated prefabs and sprites
  • other: namespace “UIWidgetsSamples” renamed to “UIWidget.Examples”

Release 1.9.3

  • Accordion: now works with content with dynamically change size
  • ListView’s, TileView’s, TreeView’s: added GetItemPositionMiddle()
  • ListView’s, TileView’s, TreeView’s: added ScrollToPosition()
  • ListView’s, TileView’s, TreeView’s: added ScrollToPositionAnimated()
  • ResizableHeader: added ColumnEnable, ColumnDisable and ColumnToggle
  • ResizableHeader: fixed problem with adding columns
  • ResizableHeader: improvements

Release 1.9.2

  • added TreeViewCustomNodeDragSupport
  • added ScrollButtons
  • Autocomplete: fixed problem with resizing
  • Autocomplete: added SearchDelay and MinLength options
  • ColorPicker: fixed incorrect display in linear colorspace
  • ColorPicker: now click on palette or image will change color
  • Draggable: added Horizontal and Vertical options
  • Draggable: added Restriction option
  • ListViewCustomDragSupport: added DeleteAfterDrop parameter
  • ListView’s, TileView’s, TreeView’s: added SetContentSizeFitter parameter
  • ListView’s, TileView’s, TreeView’s: added Navigation parameter
  • ListView’s, TileView’s, TreeView’s: added IsVisible() function to check if item is visible
  • ListView’s, TileView’s, TreeView’s: added animated scrolling to items - ScrollToTime() and ScrollToSpeed()
  • ListView’s, TileView’s, TreeView’s: Multiple renamed to MultipleSelect
  • RangeSlider: added RangeSliderType; it’s allow or disable handles overlay
  • Resizable: fixed error with allowed directions
  • Sidebar: added new animation type ScaleDownAndPush
  • Spinner: fixed input parsing problem
  • Splitter: added Mode option, so you can specify left and right targers, instead using previous and next siblings in hierarchy
  • TreeView: added serialization support with TreeNode<T>.Serialize() and TreeNode<T>.Deserialize()
  • TreeView: fixed error when deleting selected node with disabled DeselectCollapsedNodes
  • TreeView: added ExpandParentNodes() and CollapseParentNodes() functions
  • TreeView’s DefaultItem: Filler renamed to Indentation
  • Dialog, Notify, Picker, Popup: Template() renamed to Clone()

Release 1.9.1

  • Fixed CenteredSlider
  • Fixed missing links in prefabs
  • Fixed demo scene

Release 1.9.0

  • Added AudioPlayer
  • Added Calendar
  • Added DatePicker
  • Added DirectoryTreeView
  • Added FileDialog
  • Added FileListView
  • Added FolderDialog
  • Added PickerBool (can be used as Confirmation dialog with Yes/No/Cancel options)
  • Accordion: added ResizeMethod property
  • Accordion: protected Items property replaced with public DataSource property with type ObservableList<T>
  • Accordion: added DisableClosed option
  • ColorPicker: added Image palette, you can use it to get colors from custom Texture2D. The texture must have the Read/Write Enabled flag set in the import settings, otherwise this function will fail.
  • ColorPicker: fixed bug with wrong axes with Hue palette
  • Drag&Drop: added generic classes ListViewCustomDragSupport and ListViewCustomDropSupport, using them to add Drap&Drop functionality for own ListView’s become more easily. Check ListViewIconsDragSupport and ListViewIconsDropSupport as reference (ignore TreeNode region).
  • EasyLayout: fixed “dirty” scene bug when using FitContainer or ShrinkOnOverflow
  • ListView’s: DataSource can be safely used from other threads
  • ListView’s: added GroupedListView sample
  • ListView’s: added .Select(int index, bool raiseEvents) function, you can use it to select items without raising events
  • ListView’s: added Owner field to ListViewItem (base class for any DefaultItem), it contains link to parent ListView
  • ListView’s: you can implement IViewData<T> to DefaultItem component class to avoid overriding ListView.SetData() function
  • ListView’s: added virtual properties Graphic[] GraphicsForeground and Graphic[] GraphicsBackground to ListViewItem, you can them to specify grapgics for coloring, instead overriding coloring functions
  • Resizable: mark events as used
  • SlideBlock renamed to Sidebar
  • Sidebar: added new animation types Overlay (default), Push, Uncover, ScaleDown, SlideAlong, SlideOut, Resize
  • Sidebar: added AnimateWithLayout option for Resize animation, use it if you need more than one Sidebar with Resize on same Content object
  • Spinner: added AllowHold option, so you can disable increasing/decreasing value during pointer hold
  • Switch: added .SetStatus(bool value), you can change state without raising corresponding events
  • TileView’s: added TileViewCustomSize
  • Tooltip: added UnscaledTime option
  • TreeNode: added RootNode property, used to check if nodes belong to same tree
  • TreeView’s and TreeNode: Nodes type change from IObservableList<TreeNode<TItem>> to ObservableList<TreeNode<TItem>>
  • TreeView: added SelectedNodes property
  • TreeView: added DeselectCollapsedNodes property, enabled by default
  • TreeView: added .Node2Index(TreeNode<TItem> node) function
  • TreeView: added .SelectNode(TreeNode<TItem> node) and .SelectNodeWithSubnodes(TreeNode<TItem> node) functions
  • TreeViewDataSource: fixed incorrect branch bug (thanks to Heiko Berres)
  • ProgressBar: added SpeedType option

Release 1.8.5

  • IInputFieldProxy: properties onValueChange, onValueChanged, onEndEdit type changed to UnityEvent<string> and get only.
  • ListView: now is possible change DefaultItem in runtime
  • ListViewItem: now works without ImageAdvanced
  • SlideBlock: added Modal property, if enabled SlideBlock will be closed on click outside SlideBlock
  • Tabs: added EnableTab and DisableTab functions

Release 1.8.4

  • Added ColorPickerRange - allow selecting color from a range of two colors.
  • Fixed Combobox bug.

Release 1.8.3

  • Added SelectableHelper - allow controlling additional Graphic component according to selection state of current gameobject. So you can control button background color with Button component and Button text color with SelectableHelper
  • Added ListViewInt
  • Added Picker - base class for creating own pickers
  • Added PickerInt, PickerString, PickerIcons
  • Added LayoutSwitcher
  • SpinnerFloat - added property Culture, specified how the number will be displayed and how input will be parsed
  • SpinnerFloat - added field DecimalSeparators, along with decimal separator within Culture determine valid decimal separators for input (Warning: incompatible types with different Unity versions - Unity 4.x use string[] and Unity 5.x use char[])
  • Spinner, SpinnerFloat - fixed overflow exception
  • Resizable - added corners directions for resize
  • ListView’s - added FadeDuration for colors change

Release 1.8.2

  • EasyLayout - added Shrink on Overflow option
  • EasyLayout - added CompactConstraint and CompactConstraintCount options
  • Splitter - fixed problem with using more than one splitter with the same container
  • Tabs - added prefab for left side Tabs
  • Added ScrollRectRestictedDrag
  • TextMeshPro support available with separate unitypackage
  • Beta: Added Connectors. Add SingleConnector or MultipleConnector to empty gameobject

Release 1.8.0

  • Added ScrollRectPaginator
  • Added ListViewPaginator
  • Added Autocomplete
  • Added Popup
  • TreeView: added TreeViewDataSource component with nodes editor
  • ListView’s: added ScrollTo()
  • EasyLayout: reduced memory allocation
  • EasyLayout: added row/column constraint for Grid layout
  • Tabs: added DefaultTabName property
  • TreeNode: added Path property - return list of parent nodes
  • TreeViewComponent: added OnNodeExpand property with Rotate (rotate toggle) and ChangeSprite (change toggle sprite) values
  • Notify and Dialog: added Template() method, now you can use notifyPrefab.Template().Show(…) instead Notify.Template(“template name”).Show(…)
  • CenteredSlider: added ValueMin, ValueMax and UseValueLimits. If UseValueLimits enabled then ValueMin <= Value <= ValueMax
  • Tabs: added TabButtonComponent, use derived class with overridden SetButtonData() to control how tab name will be displayed. For TabsIcons you can use TabIconButton.
  • Dialog: added DialogButtonComponent, use derived class with overridden SetButtonName() to control how button name will be displayed.
  • Dialog: added DialogInfoBase, use derived class with overridden SetInfo() to control how info will be displayed.
  • ListView’s, TileView: added DropIndicator for Drag-and-Drop
  • TileView: added TileViewScrollRectFitter, ScrollRect will be resized to display whole number of items.

Release 1.7.4

  • Added Switch
  • Resizable: added KeepAspectRatio property
  • Tabs: added SelectedTab property
  • Tabs: added OnTabSelect event
  • Known problems: Accordion with EasyLayout and Canvas.PixelPerfect enabled in Unity 5.3 cause error “Trying to add (Layout Rebuilder for) {ObjectName} (UnityEngine.RectTransform) for layout rebuild while we are already inside a layout rebuild loop. This is not supported.” in some cases. Workaround - use Vertical or Horizontal Layout Group instead EasyLayout.

Release 1.7.2

  • Fixed errors in WinStore builds.
  • IDropSupport: added DropCanceled method.
  • DragSupport: added DragPoint property (empty gameobject on cursor/touch position), you can use it to attach custom gameobject with information about draggable object.
  • ListViewIconsDragSupport, TreeViewNodeDragSupport: show information about draggable object.
  • Tabs: added Tabs with icons.

Release 1.7.0

  • Added Drag and Drop support.
  • ComboboxCustom and ComboboxIcons: Added Multiselect support.
  • ResizableHeader: Added drag column support.
  • TreeViewItem: Added Tag property.
  • SlideBlock: Optional support for children ScrollRect.
  • Accordion: Added Direction.
  • Accordion: Added support Horizontal Layout Group and Vertical Layout Group (Content Objects should have LayoutElement component).
  • ListViews: Added limited support Horizontal Layout Group and Vertical Layout Group (you cannot change ListView direction in runtime).
  • ObservableList: Added events OnCollectionChange (raised when items added, removed or replaced) and OnCollectionItemChange (raised when item in collection raise OnChange or PropertyChanged events).
  • ObservableList: Added Comparison, ResortOnCollectionChanged, ResortOnCollectionItemChanged properties.
  • TreeNode: Added Parent property. Now you can remove node from tree using Node.Parent = null or move node to another subtree Node.Parent = AnotherNode.

Release 1.6.5

  • Added Resizable.
  • Added Splitter.
  • Added SlideBlock.
  • Added ScrollRectEvents component with PullUp, PullDown, PullLeft, PullRight events (use it for refresh or load more options).
  • ListViewCustom: Removed properties SelectedComponent and SelectedComponents.
  • ObservableList: Now you can disable items observe in constructor.
  • ListViewItem: Added MovedToCache function, called when item moved to cache, you can use it to free used resources.
  • Added Table sample (ListViewCustom + ResizableHeader + Tooltip).
  • TileView sample - added Resizable for TileView and TileViewItems and toggle direction.
  • Bug fixes.
  • Optimization.

Release 1.6.0

  • ColorPicker
  • For ListView, ListViewIcons, ListViewCustom, ListViewCustomHeight, TileView added support for ObservableList
  • Items property marked obsolete but can be used.
  • Added optional sequence parameters for Notify - notifications can be showed one by one, not only all at once like before.
  • For ListViewIcons items and TreeView nodes added field LocalizedName, so now can be easily added localization support.
  • EasyLayout - Control Width, Max Width, Control Height, Max Height replaced with “Children Width” and “Children Height” with options:
    • Do Nothing
    • Set Preferred - Set width/height to preferred, like Control Width/Height
    • Set Max from Preferred - Set width/height to maximum preferred width/height of items, like Max Width/Height
    • Fit Container - similar to “Child Force Expand” from Horizontal/Vertical Layout Group
  • ListViewCustomHeight - implementation of IListViewItemHeight for components now optional, but you still can implement it for optimization purpose.

Release 1.5.0

  • Added TileView
  • Added TreeView
  • Added ResizableHeader
  • Direction option for ListView’s
  • Value option for ListViewIcons items

Release 1.4.2

  • Added ListViewCustomHeight (support items of variable heights)

Release 1.4.1

  • Added CenteredSlider.

Release 1.4

  • Added RangeSlider
  • Added Accordion
  • Bugfixes. Thanks to Nox from Purple Pwny Studios (http://purplepwny.com) for helping fix a mobile combobox bug.

Release 1.3

  • Added ListViewIcons
  • Added ComboboxIcons
  • Added ListViewCustom
  • Added ComboboxCustom

Release 1.2

  • Added Dialog
  • Added Draggable

Release 1.1

  • Added Notify
  • Added EasyLayout

Release 1.0

  • Initial release