new types and classes

This commit is contained in:
PwLDev 2026-05-04 11:38:58 -07:00
commit 9a3a1b084a
26 changed files with 1324 additions and 2 deletions

69
lib/widgets/box.ts Normal file
View file

@ -0,0 +1,69 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Box extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Box, options);
}
public setOrientation(value: number): this {
return this.setInteger("Iorientation", value);
}
get orientation(): number {
return this.getInteger("Iorientation");
}
set orientation(value: number) {
this.setInteger("Iorientation", value);
}
public setMargin(value: number): this {
return this.setInteger("Imargin", value);
}
get margin(): number {
return this.getInteger("Imargin");
}
set margin(value: number) {
this.setInteger("Imargin", value);
}
public setPadding(value: number): this {
return this.setInteger("Ipadding", value);
}
get padding(): number {
return this.getInteger("Ipadding");
}
set padding(value: number) {
this.setInteger("Ipadding", value);
}
public setHasBorder(value: boolean): this {
return this.setInteger("IhasBorder", +value);
}
get hasBorder(): boolean {
return this.getInteger("IhasBorder") != 0;
}
set hasBorder(value: boolean) {
this.setInteger("IhasBorder", +value);
}
public setInverted(value: boolean): this {
return this.setInteger("Iinverted", +value);
}
get inverted(): boolean {
return this.getInteger("Iinverted") != 0;
}
set inverted(value: boolean) {
this.setInteger("Iinverted", +value);
}
}

69
lib/widgets/button.ts Normal file
View file

@ -0,0 +1,69 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions, Pixmap } from "../types";
export class Button extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Button, options);
}
public setPixmap(value: Pixmap): this {
return this.setVoid("Vpixmap", value);
}
get pixmap(): Pixmap {
return this.getVoid("Vpixmap") as Pixmap;
}
set pixmap(value: Pixmap) {
this.setVoid("Vpixmap", value);
}
public setText(value: string): this {
return this.setString("Stext", value);
}
get text(): string {
return this.getString("Stext");
}
set text(value: string) {
this.setString("Stext", value);
}
public setFlat(value: boolean): this {
return this.setInteger("Iflat", +value);
}
get flat(): boolean {
return this.getInteger("Iflat") != 0;
}
set flat(value: boolean) {
this.setInteger("Iflat", +value);
}
public setPadding(value: number): this {
return this.setInteger("Ipadding", value);
}
get padding(): number {
return this.getInteger("Ipadding");
}
set padding(value: number) {
this.setInteger("Ipadding", value);
}
public setFillArea(value: number): this {
return this.setInteger("IfillArea", value);
}
get fillArea(): number {
return this.getInteger("IfillArea");
}
set fillArea(value: number) {
this.setInteger("IfillArea", value);
}
}

21
lib/widgets/checkbox.ts Normal file
View file

@ -0,0 +1,21 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class CheckBox extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.CheckBox, options);
}
public setChecked(value: boolean): this {
return this.setInteger("Ichecked", +value);
}
get checked(): boolean {
return this.getInteger("Ichecked") != 0;
}
set checked(value: boolean) {
this.setInteger("Ichecked", +value);
}
}

33
lib/widgets/combobox.ts Normal file
View file

@ -0,0 +1,33 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class ComboBox extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.ComboBox, options);
}
public setAreaShown(value: number): this {
return this.setInteger("IareaShown", value);
}
get areaShown(): number {
return this.getInteger("IareaShown");
}
set areaShown(value: number) {
this.setInteger("IareaShown", value);
}
public setValue(value: number): this {
return this.setInteger("Ivalue", value);
}
get value(): number {
return this.getInteger("Ivalue");
}
set value(value: number) {
this.setInteger("Ivalue", value);
}
}

33
lib/widgets/entry.ts Normal file
View file

@ -0,0 +1,33 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Entry extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Entry, options);
}
public setText(value: string): this {
return this.setString("Stext", value);
}
get text(): string {
return this.getString("Stext");
}
set text(value: string) {
this.setString("Stext", value);
}
public setHideInput(value: boolean): this {
return this.setInteger("IhideInput", +value);
}
get hideInput(): boolean {
return this.getInteger("IhideInput") != 0;
}
set hideInput(value: boolean) {
this.setInteger("IhideInput", +value);
}
}

33
lib/widgets/frame.ts Normal file
View file

@ -0,0 +1,33 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Frame extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Frame, options);
}
public setHasBorder(value: boolean): this {
return this.setInteger("IhasBorder", +value);
}
get hasBorder(): boolean {
return this.getInteger("IhasBorder") != 0;
}
set hasBorder(value: boolean) {
this.setInteger("IhasBorder", +value);
}
public setInverted(value: boolean): this {
return this.setInteger("Iinverted", +value);
}
get inverted(): boolean {
return this.getInteger("Iinverted") != 0;
}
set inverted(value: boolean) {
this.setInteger("Iinverted", +value);
}
}

57
lib/widgets/image.ts Normal file
View file

@ -0,0 +1,57 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions, Pixmap } from "../types";
export class Image extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Image, options);
}
public setPixmap(value: Pixmap): this {
return this.setVoid("Vpixmap", value);
}
get pixmap(): Pixmap {
return this.getVoid("Vpixmap") as Pixmap;
}
set pixmap(value: Pixmap) {
this.setVoid("Vpixmap", value);
}
public setHasBorder(value: boolean): this {
return this.setInteger("IhasBorder", +value);
}
get hasBorder(): boolean {
return this.getInteger("IhasBorder") != 0;
}
set hasBorder(value: boolean) {
this.setInteger("IhasBorder", +value);
}
public setInverted(value: boolean): this {
return this.setInteger("Iinverted", +value);
}
get inverted(): boolean {
return this.getInteger("Iinverted") != 0;
}
set inverted(value: boolean) {
this.setInteger("Iinverted", +value);
}
public setFillArea(value: number): this {
return this.setInteger("IfillArea", value);
}
get fillArea(): number {
return this.getInteger("IfillArea");
}
set fillArea(value: number) {
this.setInteger("IfillArea", value);
}
}

19
lib/widgets/index.ts Normal file
View file

@ -0,0 +1,19 @@
export { Box } from "./box";
export { Button } from "./button";
export { CheckBox } from "./checkbox";
export { Entry } from "./entry";
export { Frame } from "./frame";
export { Image } from "./image";
export { Label } from "./label";
export { ListBox } from "./listbox";
export { Menu } from "./menu";
export { NumberEntry } from "./numberentry";
export { ScrollBar } from "./scrollbar";
export { SubMenu } from "./submenu";
export { Viewport } from "./viewport";
export { Window } from "./window";
export { ProgressBar } from "./progressbar";
export { RadioBox } from "./radiobox";
export { ComboBox } from "./combobox";
export { TreeView } from "./treeview";
export { SubWindow } from "./subwindow";

81
lib/widgets/label.ts Normal file
View file

@ -0,0 +1,81 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Label extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Label, options);
}
public setText(value: string): this {
return this.setString("Stext", value);
}
get text(): string {
return this.getString("Stext");
}
set text(value: string) {
this.setString("Stext", value);
}
public setAlignment(value: number): this {
return this.setInteger("Ialignment", value);
}
get alignment(): number {
return this.getInteger("Ialignment");
}
set alignment(value: number) {
this.setInteger("Ialignment", value);
}
public setBold(value: boolean): this {
return this.setInteger("Ibold", +value);
}
get bold(): boolean {
return this.getInteger("Ibold") != 0;
}
set bold(value: boolean) {
this.setInteger("Ibold", +value);
}
public setSevenSegment(value: boolean): this {
return this.setInteger("IsevenSegment", +value);
}
get sevenSegment(): boolean {
return this.getInteger("IsevenSegment") != 0;
}
set sevenSegment(value: boolean) {
this.setInteger("IsevenSegment", +value);
}
public setLength(value: number): this {
return this.setInteger("Ilength", value);
}
get length(): number {
return this.getInteger("Ilength");
}
set length(value: number) {
this.setInteger("Ilength", value);
}
public setLeftPadding(value: number): this {
return this.setInteger("IleftPadding", value);
}
get leftPadding(): number {
return this.getInteger("IleftPadding");
}
set leftPadding(value: number) {
this.setInteger("IleftPadding", value);
}
}

45
lib/widgets/listbox.ts Normal file
View file

@ -0,0 +1,45 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class ListBox extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.ListBox, options);
}
public setLeftPadding(value: number): this {
return this.setInteger("IleftPadding", value);
}
get leftPadding(): number {
return this.getInteger("IleftPadding");
}
set leftPadding(value: number) {
this.setInteger("IleftPadding", value);
}
public setHasHeading(value: boolean): this {
return this.setInteger("IhasHeading", +value);
}
get hasHeading(): boolean {
return this.getInteger("IhasHeading") != 0;
}
set hasHeading(value: boolean) {
this.setInteger("IhasHeading", +value);
}
public setSingleClickSelectable(value: boolean): this {
return this.setInteger("IsingleClickSelectable", +value);
}
get singleClickSelectable(): boolean {
return this.getInteger("IsingleClickSelectable") != 0;
}
set singleClickSelectable(value: boolean) {
this.setInteger("IsingleClickSelectable", +value);
}
}

9
lib/widgets/menu.ts Normal file
View file

@ -0,0 +1,9 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Menu extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Menu, options);
}
}

View file

@ -0,0 +1,21 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class NumberEntry extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.NumberEntry, options);
}
public setText(value: string): this {
return this.setString("Stext", value);
}
get text(): string {
return this.getString("Stext");
}
set text(value: string) {
this.setString("Stext", value);
}
}

View file

@ -0,0 +1,45 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class ProgressBar extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.ProgressBar, options);
}
public setMinValue(value: number): this {
return this.setInteger("IminValue", value);
}
get minValue(): number {
return this.getInteger("IminValue");
}
set minValue(value: number) {
this.setInteger("IminValue", value);
}
public setMaxValue(value: number): this {
return this.setInteger("ImaxValue", value);
}
get maxValue(): number {
return this.getInteger("ImaxValue");
}
set maxValue(value: number) {
this.setInteger("ImaxValue", value);
}
public setValue(value: number): this {
return this.setInteger("Ivalue", value);
}
get value(): number {
return this.getInteger("Ivalue");
}
set value(value: number) {
this.setInteger("Ivalue", value);
}
}

21
lib/widgets/radiobox.ts Normal file
View file

@ -0,0 +1,21 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class RadioBox extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.RadioBox, options);
}
public setChecked(value: boolean): this {
return this.setInteger("Ichecked", +value);
}
get checked(): boolean {
return this.getInteger("Ichecked") != 0;
}
set checked(value: boolean) {
this.setInteger("Ichecked", +value);
}
}

81
lib/widgets/scrollbar.ts Normal file
View file

@ -0,0 +1,81 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class ScrollBar extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.ScrollBar, options);
}
public setShowArrows(value: boolean): this {
return this.setInteger("IshowArrows", +value);
}
get showArrows(): boolean {
return this.getInteger("IshowArrows") != 0;
}
set showArrows(value: boolean) {
this.setInteger("IshowArrows", +value);
}
public setAreaShown(value: number): this {
return this.setInteger("IareaShown", value);
}
get areaShown(): number {
return this.getInteger("IareaShown");
}
set areaShown(value: number) {
this.setInteger("IareaShown", value);
}
public setValue(value: number): this {
return this.setInteger("Ivalue", value);
}
get value(): number {
return this.getInteger("Ivalue");
}
set value(value: number) {
this.setInteger("Ivalue", value);
}
public setMinValue(value: number): this {
return this.setInteger("IminValue", value);
}
get minValue(): number {
return this.getInteger("IminValue");
}
set minValue(value: number) {
this.setInteger("IminValue", value);
}
public setMaxValue(value: number): this {
return this.setInteger("ImaxValue", value);
}
get maxValue(): number {
return this.getInteger("ImaxValue");
}
set maxValue(value: number) {
this.setInteger("ImaxValue", value);
}
public setOrientation(value: number): this {
return this.setInteger("Iorientation", value);
}
get orientation(): number {
return this.getInteger("Iorientation");
}
set orientation(value: number) {
this.setInteger("Iorientation", value);
}
}

21
lib/widgets/submenu.ts Normal file
View file

@ -0,0 +1,21 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class SubMenu extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.SubMenu, options);
}
public setLeftPadding(value: number): this {
return this.setInteger("IleftPadding", value);
}
get leftPadding(): number {
return this.getInteger("IleftPadding");
}
set leftPadding(value: number) {
this.setInteger("IleftPadding", value);
}
}

33
lib/widgets/subwindow.ts Normal file
View file

@ -0,0 +1,33 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions, Pixmap } from "../types";
export class SubWindow extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.SubWindow, options);
}
public setIconPixmap(value: Pixmap): this {
return this.setVoid("ViconPixmap", value);
}
get iconPixmap(): Pixmap {
return this.getVoid("ViconPixmap") as Pixmap;
}
set iconPixmap(value: Pixmap) {
this.setVoid("ViconPixmap", value);
}
public setTitle(value: string): this {
return this.setString("Stitle", value);
}
get title(): string {
return this.getString("Stitle");
}
set title(value: string) {
this.setString("Stitle", value);
}
}

33
lib/widgets/treeview.ts Normal file
View file

@ -0,0 +1,33 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class TreeView extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.TreeView, options);
}
public setLeftPadding(value: number): this {
return this.setInteger("IleftPadding", value);
}
get leftPadding(): number {
return this.getInteger("IleftPadding");
}
set leftPadding(value: number) {
this.setInteger("IleftPadding", value);
}
public setSingleClickSelectable(value: boolean): this {
return this.setInteger("IsingleClickSelectable", +value);
}
get singleClickSelectable(): boolean {
return this.getInteger("IsingleClickSelectable") != 0;
}
set singleClickSelectable(value: boolean) {
this.setInteger("IsingleClickSelectable", +value);
}
}

9
lib/widgets/viewport.ts Normal file
View file

@ -0,0 +1,9 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { WidgetOptions } from "../types";
export class Viewport extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Viewport, options);
}
}

82
lib/widgets/window.ts Normal file
View file

@ -0,0 +1,82 @@
import { NativeClasses } from "../milsko";
import { Widget } from "../widget";
import { MwSizeHints } from "../structs";
import { WidgetOptions, Pixmap } from "../types";
export class Window extends Widget {
constructor(options: WidgetOptions) {
super(NativeClasses.Window, options);
}
public setTitle(value: string): this {
return this.setString("Stitle", value);
}
get title(): string {
return this.getString("Stitle");
}
set title(value: string) {
this.setString("Stitle", value);
}
public setMain(value: boolean): this {
return this.setInteger("Imain", +value);
}
get main(): boolean {
return this.getInteger("Imain") != 0;
}
set main(value: boolean) {
this.setInteger("Imain", +value);
}
public setIconPixmap(value: Pixmap): this {
return this.setVoid("ViconPixmap", value);
}
get iconPixmap(): Pixmap {
return this.getVoid("ViconPixmap") as Pixmap;
}
set iconPixmap(value: Pixmap) {
this.setVoid("ViconPixmap", value);
}
public setSizeHints(value: MwSizeHints): this {
return this.setVoid("VsizeHints", value);
}
get sizeHints(): MwSizeHints {
return this.getVoid("VsizeHints") as MwSizeHints;
}
set sizeHints(value: MwSizeHints) {
this.setVoid("VsizeHints", value);
}
public setHasBorder(value: boolean): this {
return this.setInteger("IhasBorder", +value);
}
get hasBorder(): boolean {
return this.getInteger("IhasBorder") != 0;
}
set hasBorder(value: boolean) {
this.setInteger("IhasBorder", +value);
}
public setInverted(value: boolean): this {
return this.setInteger("Iinverted", +value);
}
get inverted(): boolean {
return this.getInteger("Iinverted") != 0;
}
set inverted(value: boolean) {
this.setInteger("Iinverted", +value);
}
}