Last updated | a year ago |
Total downloads | 2325 |
Total rating | 1 |
Categories | Mods Client-side |
Dependency string | odds-Negativbild-1.0.0 |
Dependants | 2 other packages depend on this package |
README
Negativbild
Negativbild is a mod for the Northstar Client that implements some UI utilities.
Documentation
There is no generated documentation available yet.
Scrollbars
A scrollbar is a movable slider that is usable in a confined space.
-
void function RegisterScrollbar( var scrollbar, void functionref( int x, int y ) callback )
Registers a new scrollbar
The passed vgui element needs to be a
CNestedPanel
loadingscrollbar.res
Scrollbar { ControlName CNestedPanel wide 50 controlSettingsFile "resource/ui/menus/panels/scrollbar.res" }
-
void function SetScrollbarComponentContentHeight( var component, int height )
Update the height of all slider contents.
Scrollable Lists
Scrollable Lists allow representing infinite amounts of data in a list with a smooth scrolling effect.
Scrollable Lists can not be taller than 800 pixels!
-
ScrollableList function RegisterScrollableList( var scrollableList, array<string> items, array<ScrollbarContentListener> listeners )
Register a new scrollable list
The passed vgui element needs to be a
CNestedPanel
loadingscrollable_list.res
ScrollableList { ControlName CNestedPanel wide 200 tall 800 }
-
void function UpdateScrollableListContent( ScrollableList sl, array<string> contents, int ornull height = null )
Update the contents and optionally height of a list.
-
void function ScrollList( ScrollableList sl, int height )
Scroll the slider
height
amount of pixels down. Negativeheight
scrolls up. -
ScrollbarContentListener function BuildScrollbarContentListener( int event, void functionref( var, ScrollbarContent ) callback )
Build a
ScrollbarContentListener
struct instance from the parameters.
Structs
Do not change any values directly.
-
ScrollableList
slot type description nodes array<var> nodes that are currently in use component var the parent vgui element buffer var buffer element used for a smooth transition effect at max capacity contents array<ScrollbarContent> all contents of this list contentOffset int first rendered content index fullHeight int combined height of all used nodes used for internal purposes -
ScrollbarContentListener
slot type description event int UIE id of for the event that triggers the callback callback void functionref( var, ScrollbarContent ) callback executed for this event -
ScrollbarContent
slot type description string title string displayed title for this item int contentIndex int index of this item in the array of all contents bool disabled bool denotes if this item is disabled SetDisabled void functionref( bool ) This function is automatically set up. Use this to disable this item button
Globals
global const int SCROLLBAR_ITEM_HEIGHT = 50
Tooltips
Tooltips show a label with extra information when UIE_GET_FOCUS
is triggered.
-
void function RegisterToolTip( var menu, var tooltip )
Register a tooltip element for a menu. This element will jump to elements that have been registered with
AddTooltipToElement
. Only one tooltip can be registered per menu.The
tooltip
vgui element needs to be aCNestedPanel
extendingtooltip.res
and should by default be invisible:Tooltip { ControlName CNestedPanel controlSettingsFile "resource/ui/menus/panels/tooltip.res" visible 0 }
-
void function AddTooltipToElement( var elem, string tooltipText, int width = 0 )
Register a tooltip for an element. Make sure a registered tooltip exists on the same menu as
elem
.The
elem
vgui element should be of a type that receives theUIE_GET_FOCUS
by hovering like buttons.
Dropdown
Opens a submenu containing a ScrollableList
with a set of options. When an element of the list is clicked, the submenu is closed and the selected title and index are signaled on DropDownSelected
-
void function OpenDropDown( array<string> contents )
Opens a dropdown at the mouse cursors current position.
-
void function OpenDropDownCalc( array<string> contents, int[2] functionref( var ) positionCallback )
Opens a dropdown at the returned value of
positionCallback
. -
int[2] function DefaultSubmenuPosition( var frame )
Returns the frame position for opened submenus at the cursor.
This is only of value if you are using custom submenus
-
void function OpenDropDownSubmenu( var menu, int[2] functionref( var ) positionCallback )
Opens a DropDown submenu at the calculated position
This is only of value if you are using custom submenus
Color Pickers
Color pickers allow the user to select a color from a color circle.
To enable a color picker, signal ColorPickerRevive
(for example when opening a menu containing one) and disable it with the ColorPickerKill
signal (e.g. when closing the menu).
-
table<string, var> function RegisterColorPicker( var elem )
Registers a new color picker. Like the
DropDown
the picker signals a selected value on theColorPickerSelected
signal in thecolor
index.The selected color is a rgb value stored in a
vector
ornull
The passed vgui element needs to be a
CNestedPanel
loadingcolor_picker.res
:ColorPicker { ControlName CNestedPanel controlSettingsFile "resource/ui/menus/panels/color_picker.res" wide 375 wide 300 }
The vgui element needs to be 75 pixels wider than high to be able to correctly render the color preview patch.
Color Picker Dialog
The color picker dialog changes the value of a ConVar on select. It does not close on it's own.
-
void function OpenColorPickerDialog( string conVar, bool liveUpdate = false, bool update = true, bool reset = false )
Open a color picker dialog at the cursor position.
Parameters
conVar
- The convar that the value will be saved toliveUpdate
- Iftrue
,ColorPickerLiveUpdate
will be triggered every frame the cursor hovers over a color with the color in the color in thecolor
slot of the result.update
- Iftrue
, the color will be saved to the given ConVar on click and live update, if enabledreset
- Iftrue
,conVar
will be resetted to it's default value. The Reset button emits theColorPickerDialogReset
signal that you can use for custom reset logic.
Example
OpenColorPickerDialog( conVar ) // open the dialog
thread void function()
{
WaitSignal( uiGlobal.signalDummy, "ColorPickerSelected" ) // wait until a color is selected
CloseSubMenu() // close the dialog
}()
Mod Settings Utilities
-
void function ModSettings_AddDropDown( string conVar, string buttonLabel, array<string> options, bool useIndex = false )
Adds a button to the last settings category that opens a DropDown on click.
The value of
conVar
will be set to the index of the option ifuseIndex
istrue
, otherwise the title will be stored.// an example to use the dropdown instead of the common Mod Settings enum ModSettings_AddDropDown("cv_feature_enabled", "Some Feature Enabled", [ "Disabled", "Enabled", true, ]);
-
void function ModSettings_AddColorPicker( string conVar, string buttonLabel )
Adds a button to the last settings category that opens a Color Picker Dialog when clicked.
conVar
needs to be a string in this format:r g b
. You can retrieve the rgb values like this:array<string> split = split( GetConVarString( conVar ), " " ) vector rgb = < float( split[0] ), float( split[1] ), float( split[2] ) > // store rgb vector in a convar SetConVarString( conVar, format( "%.2f, %.2f, %.2f", r, g, b ) )
The submenu is automatically closed when a color is selected.