API Documentation
Classes | Enumerations
nkWinUi Namespace Reference

Encompasses all API of component NilkinsWinUi. More...

Classes

class  AlignmentUtils
 Holds static utility functions to interact with the ALIGNMENT enum class values. More...
 
class  Button
 A graphical button. More...
 
struct  ChangeEventData
 Data holder for a change event. More...
 
struct  CharEventData
 Data holder for a char event. More...
 
class  CheckBox
 A graphical check box. More...
 
struct  ClickEventData
 Data holder for a click event. More...
 
class  Clipboard
 Abstracts the system clipboard. More...
 
class  Color
 Represents a color, with 4 channels. More...
 
class  ComboBox
 A graphical combo box. More...
 
class  Component
 Base class for any graphical component. More...
 
class  ComponentManager
 Manages the components within nkWinUi. More...
 
class  ComponentUtils
 Offers many utilities to deal with the components, specialized for its windowing system. More...
 
class  ContentLoader
 Allows to export and import content through their declaration files. More...
 
class  ContextMenu
 A graphical context menu. More...
 
class  Cursor
 WIP. More...
 
class  CursorManager
 Manages the recorded cursors living in the component. More...
 
class  CursorUtils
 A utility class to interact with the cursor. More...
 
class  EditBox
 A graphical single line edit box. More...
 
class  FileExplorer
 A graphical file explorer. More...
 
class  Font
 Offers an interface to work with fonts. More...
 
class  FontManager
 Manages the recorded fonts [WIP]. More...
 
class  FontUtils
 Offers utility features to work with fonts. More...
 
class  GridLayout
 Implements a layout organizing children components in a grid. More...
 
class  GroupBox
 A graphical group box. More...
 
struct  HandledEventData
 Data holder for a handled event. More...
 
class  Image
 Abstracts an image to be used within the component. More...
 
class  ImageDisplay
 Allows to display an image in the Ui. More...
 
class  ImageManager
 Manages the images in the component. More...
 
class  InputDescriptor
 Describes an input event. More...
 
class  InputSystem
 Input system, centralizing default behaviour for the input. More...
 
struct  KeyEventData
 Data holder for a key event. More...
 
class  Layout
 Represents a layout to organize children of a component. More...
 
class  ListBox
 A graphical list box. More...
 
class  LogManager
 Responsible for logging all messages from the component. More...
 
class  LogWin
 A graphical log window, where lines can be added like a console log. More...
 
struct  MouseMoveEventData
 Data holder for a mouse move event. More...
 
class  MultiLineEdit
 A graphical multi line edit box. More...
 
struct  NotificationPositionDescriptor
 Describes the position constraints a notification or popup should satisfy. More...
 
class  Notificator
 Gather notification and popup related functions. More...
 
struct  PopupCustomDescriptor
 Describes how a custom popup should behave. More...
 
struct  PopupYesNoDescriptor
 Describes the behaviour a yes / no popup should have. More...
 
class  ProgressBar
 WIP. More...
 
class  RelativeLayout
 Implements a layout positioning its children components relative to each other. More...
 
class  RelativePositionUtils
 Holds static utility functions to interact with the RELATIVE_POSITION enum class values. More...
 
class  ScrollBar
 A graphical scroll bar. More...
 
class  Slider
 A graphical slider. More...
 
class  Static
 A graphical static text zone. More...
 
class  StructToString
 Offers utilities to convert from structures or enums to strings, and vice versa. More...
 
class  System
 The main system of the component. More...
 
class  TabWindow
 A graphical tab window. More...
 
class  Theme
 A theme used to style the windows in the component. More...
 
struct  ThemeColors
 Information about all the colors a theme will need. More...
 
class  ThemeManager
 Manages the themes within the component. More...
 
class  ToolBar
 A ToolBar in which items can be added to offer different capabilities. More...
 
class  TreeView
 A graphical tree view window. More...
 
struct  WheelEventData
 Data holder for a wheel event. More...
 
class  Window
 A graphical window, made for general purpose. More...
 
class  WindowingSystem
 Class abstracting the windowing system used. More...
 

Enumerations

enum  COMPONENT_TYPE : unsigned int {
  COMPONENT_TYPE::BUTTON = 0, COMPONENT_TYPE::CHECK_BOX, COMPONENT_TYPE::COMBO_BOX, COMPONENT_TYPE::CONTEXT_MENU,
  COMPONENT_TYPE::EDIT_BOX, COMPONENT_TYPE::FILE_EXPLORER, COMPONENT_TYPE::GROUP_BOX, COMPONENT_TYPE::IMAGE_DISPLAY,
  COMPONENT_TYPE::LIST_BOX, COMPONENT_TYPE::LOG_WIN, COMPONENT_TYPE::MULTI_LINE_EDIT, COMPONENT_TYPE::PROGRESS_BAR,
  COMPONENT_TYPE::SCROLL_BAR, COMPONENT_TYPE::SLIDER, COMPONENT_TYPE::STATIC, COMPONENT_TYPE::TAB_WIN,
  COMPONENT_TYPE::TOOL_BAR, COMPONENT_TYPE::TREE_VIEW, COMPONENT_TYPE::WINDOW
}
 Available component types. More...
 
enum  IMAGE_DISPLAY_METHOD { IMAGE_DISPLAY_METHOD::STRETCH = 0, IMAGE_DISPLAY_METHOD::KEEP_RATIO }
 The available image display methods. More...
 
enum  SLIDER_DIRECTION {
  SLIDER_DIRECTION::AUTOMATIC = 0, SLIDER_DIRECTION::LEFT_TO_RIGHT, SLIDER_DIRECTION::RIGHT_TO_LEFT, SLIDER_DIRECTION::TOP_TO_BOTTOM,
  SLIDER_DIRECTION::BOTTOM_TO_TOP
}
 Lists possible slider directions. More...
 
enum  ALIGNMENT { ALIGNMENT::TOP_LEFT = 0, ALIGNMENT::CENTER, ALIGNMENT::BOTTOM_RIGHT }
 Possible alignment values, interpretable by components depending on their behavior. More...
 
enum  BORDER_KIND { BORDER_KIND::TOP = 0, BORDER_KIND::LEFT, BORDER_KIND::BOTTOM, BORDER_KIND::RIGHT }
 Lists borders kind around components. More...
 
enum  RELATIVE_POSITION {
  RELATIVE_POSITION::UNKNOWN = 0, RELATIVE_POSITION::LEFT, RELATIVE_POSITION::RIGHT, RELATIVE_POSITION::TOP,
  RELATIVE_POSITION::BOTTOM, RELATIVE_POSITION::TOP_LEFT, RELATIVE_POSITION::TOP_RIGHT, RELATIVE_POSITION::BOTTOM_LEFT,
  RELATIVE_POSITION::BOTTOM_RIGHT
}
 Possible relative positions of components. More...
 
enum  CHANGE_TYPE { CHANGE_TYPE::CHANGE_UNKNOWN = 0, CHANGE_TYPE::CHANGE_TEXT = 1, CHANGE_TYPE::CHANGE_NEW_UNDO = 2, CHANGE_TYPE::CHANGE_NEW_REDO = 4 }
 Describes a change nature. More...
 
enum  EVENT_TYPE {
  EVENT_TYPE::EVENT_UNKNOWN = 0, EVENT_TYPE::EVENT_MOUSE_CLICK, EVENT_TYPE::EVENT_MOUSE_MOVE, EVENT_TYPE::EVENT_MOUSE_WHEEL,
  EVENT_TYPE::EVENT_KEY
}
 Represents an event type. More...
 
enum  MOUSE_BUTTON {
  MOUSE_BUTTON::MOUSE_LEFT = 0x0001, MOUSE_BUTTON::MOUSE_MIDDLE = 0x0010, MOUSE_BUTTON::MOUSE_RIGHT = 0x0002, MOUSE_BUTTON::MOUSE_X1 = 0x0020,
  MOUSE_BUTTON::MOUSE_X2 = 0x0040
}
 A mouse button identifier. More...
 
enum  KEY_CODE {
  KEY_CODE::KEY_UNKNOWN = 0, KEY_CODE::KEY_BACKSPACE = 0x08, KEY_TAB, KEY_CLEAR = 0x0C,
  KEY_CODE::KEY_RETURN, KEY_SHIFT = 0x10, KEY_CONTROL, KEY_MENU,
  KEY_PAUSE, KEY_CAPITAL, KEY_KANA, KEY_KANJI = 0x19,
  KEY_ESCAPE = 0x1B, KEY_SPACE = 0x20, KEY_UP_PAGE, KEY_DOWN_PAGE,
  KEY_END, KEY_HOME, KEY_LEFT, KEY_UP,
  KEY_RIGHT, KEY_DOWN, KEY_SELECT, KEY_PRINT,
  KEY_EXEC, KEY_PRINT_SCREEN, KEY_INSERT, KEY_DEL,
  KEY_HELP, KEY_0, KEY_1, KEY_2,
  KEY_3, KEY_4, KEY_5, KEY_6,
  KEY_7, KEY_8, KEY_9, KEY_A = 0x41,
  KEY_B, KEY_C, KEY_D, KEY_E,
  KEY_F, KEY_G, KEY_H, KEY_I,
  KEY_J, KEY_K, KEY_L, KEY_M,
  KEY_N, KEY_O, KEY_P, KEY_Q,
  KEY_R, KEY_S, KEY_T, KEY_U,
  KEY_V, KEY_W, KEY_X, KEY_Y,
  KEY_Z, KEY_LEFT_WINDOWS, KEY_RIGHT_WINDOWS, KEY_APPS,
  KEY_SLEEP = 0x5F, KEY_0_NUMPAD, KEY_1_NUMPAD, KEY_2_NUMPAD,
  KEY_3_NUMPAD, KEY_4_NUMPAD, KEY_5_NUMPAD, KEY_6_NUMPAD,
  KEY_7_NUMPAD, KEY_8_NUMPAD, KEY_9_NUMPAD, KEY_MULT,
  KEY_ADD, KEY_SEPARATOR, KEY_SUBSTRACT, KEY_DECIMAL,
  KEY_DIVIDE, KEY_F1
}
 A key code identifier. More...
 
enum  LAYOUT_TYPE { LAYOUT_TYPE::UNKNOWN = 0, LAYOUT_TYPE::GRID, LAYOUT_TYPE::RELATIVE }
 Defines the type of layout available. More...
 
enum  SYSTEM_TYPE { SYSTEM_TYPE::UNKNOWN = 0, SYSTEM_TYPE::WIN_API }
 Windowing system types available and supported. More...
 

Detailed Description

Encompasses all API of component NilkinsWinUi.

This component offers capabilities to create and populate windows from the system UI. Note that currently, only supported system is Windows through the WinAPI.

To start with the component, first take a look at the nkWinUi::System to trigger all required initialization steps. Then, check the nkWinUi::ComponentManager to start creating nkWinUi::Component to interact with. Don't forget to check available nkWinUi::Layout to help with components composition.

Enumeration Type Documentation

◆ COMPONENT_TYPE

enum nkWinUi::COMPONENT_TYPE : unsigned int
strong

Available component types.

Enumerator
BUTTON 

A Button.

CHECK_BOX 

A CheckBox.

COMBO_BOX 

A ComboBox.

CONTEXT_MENU 

A ContextMenu.

EDIT_BOX 

An EditBox.

FILE_EXPLORER 

A FileExplorer.

GROUP_BOX 

A GroupBox.

IMAGE_DISPLAY 

An ImageDisplay.

LIST_BOX 

A ListBox.

LOG_WIN 

A LogWin.

MULTI_LINE_EDIT 

A MultiLineEdit.

PROGRESS_BAR 

A ProgressBar.

SCROLL_BAR 

A ScrollBar.

SLIDER 

A Slider.

STATIC 

A Static.

TAB_WIN 

A TabWindow.

TOOL_BAR 

A ToolBar.

TREE_VIEW 

A TreeView.

WINDOW 

A Window.

◆ IMAGE_DISPLAY_METHOD

The available image display methods.

Enumerator
STRETCH 

Will stretch to image to fit the component's size.

KEEP_RATIO 

Will keep the image's ratio and dimensions to display within the component.

◆ SLIDER_DIRECTION

Lists possible slider directions.

Enumerator
AUTOMATIC 

Automatic direction, adapting to the size of the component. Left to right if wider, bottom to top if higher.

LEFT_TO_RIGHT 

Left to right direction.

RIGHT_TO_LEFT 

Right to left direction.

TOP_TO_BOTTOM 

Top to bottom direction.

BOTTOM_TO_TOP 

Bottom to top direction.

◆ ALIGNMENT

enum nkWinUi::ALIGNMENT
strong

Possible alignment values, interpretable by components depending on their behavior.

Enumerator
TOP_LEFT 

Aligned left or top.

CENTER 

Aligned in the center.

BOTTOM_RIGHT 

Aligned right or bottom.

◆ BORDER_KIND

enum nkWinUi::BORDER_KIND
strong

Lists borders kind around components.

Enumerator
TOP 

Top border of a component.

LEFT 

Left border of a component.

BOTTOM 

Bottom border of a component.

RIGHT 

Right border of a component.

◆ RELATIVE_POSITION

Possible relative positions of components.

Enumerator
UNKNOWN 

Unknown.

LEFT 

Left position.

RIGHT 

Right position.

TOP 

Top position.

BOTTOM 

Bottom position.

TOP_LEFT 

Top-left position.

TOP_RIGHT 

Top-right position.

BOTTOM_LEFT 

Bottom-left position.

BOTTOM_RIGHT 

Bottom-right position.

◆ CHANGE_TYPE

enum nkWinUi::CHANGE_TYPE
strong

Describes a change nature.

Enumerator
CHANGE_UNKNOWN 

Unknown place holder change.

CHANGE_TEXT 

A change in text.

CHANGE_NEW_UNDO 

An undo change.

CHANGE_NEW_REDO 

A redo change.

◆ EVENT_TYPE

enum nkWinUi::EVENT_TYPE
strong

Represents an event type.

Enumerator
EVENT_UNKNOWN 

Unknown place holder.

EVENT_MOUSE_CLICK 

A mouse click.

EVENT_MOUSE_MOVE 

A mouse move.

EVENT_MOUSE_WHEEL 

A mouse wheel.

EVENT_KEY 

A key press / release.

◆ MOUSE_BUTTON

enum nkWinUi::MOUSE_BUTTON
strong

A mouse button identifier.

Enumerator
MOUSE_LEFT 

Left mouse button.

MOUSE_MIDDLE 

Middle mouse button.

MOUSE_RIGHT 

Right mouse button.

MOUSE_X1 

Mouse x1 button. Often taken as "previous" button.

MOUSE_X2 

Mouse x2 button. Often taken as "next" button.

◆ KEY_CODE

enum nkWinUi::KEY_CODE
strong

A key code identifier.

Based on Microsoft API key codes.

Enumerator
KEY_UNKNOWN 

Unknown place holder. Unseen in Microsoft API.

KEY_BACKSPACE 

Backspace (erase) key.

KEY_RETURN 

Return (enter) key.

◆ LAYOUT_TYPE

enum nkWinUi::LAYOUT_TYPE
strong

Defines the type of layout available.

Enumerator
UNKNOWN 

A Layout whose type is unknown. Should never be encountered.

GRID 

A grid layout.

RELATIVE 

A relative layout.

◆ SYSTEM_TYPE

enum nkWinUi::SYSTEM_TYPE
strong

Windowing system types available and supported.

Enumerator
UNKNOWN 

Unknown.

WIN_API 

Using the Windows API.