update bindings
This commit is contained in:
parent
9b975004a8
commit
382b9d65d9
28 changed files with 268 additions and 46 deletions
|
|
@ -1,14 +1,14 @@
|
|||
// @ts-ignore
|
||||
import binding from "node-gyp-build";
|
||||
import addon from "node-gyp-build";
|
||||
import { join } from "node:path";
|
||||
import {
|
||||
import type {
|
||||
BaseWidgetConstructor,
|
||||
MwNativeClasses,
|
||||
PixmapConstructor
|
||||
} from "./types";
|
||||
|
||||
export const BaseWidget: BaseWidgetConstructor = binding.BaseWidget;
|
||||
export const NativeClasses: MwNativeClasses = binding.Classes;
|
||||
export const Pixmap: PixmapConstructor = binding.Pixmap;
|
||||
const binding = addon(join(__dirname, ".."));
|
||||
|
||||
export default binding(join(__dirname, ".."));
|
||||
export const BaseWidget: BaseWidgetConstructor = binding.BaseWidget;
|
||||
export const NativeClasses: MwNativeClasses = binding.NativeClasses;
|
||||
export const Pixmap: PixmapConstructor = binding.Pixmap;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export type MwClass = object & { __brand: "MwClass" };
|
|||
|
||||
/**
|
||||
* `BaseWidget` represents the lowest level form of widgets before the native layer.
|
||||
* This class contains the fundamental native methods shared by all widgets.
|
||||
* This class contains the native methods shared by all widgets.
|
||||
*/
|
||||
export interface BaseWidget {
|
||||
area: MwRect;
|
||||
|
|
@ -153,6 +153,7 @@ export interface BaseWidgetConstructor {
|
|||
export interface MwNativeClasses {
|
||||
Box: MwClass;
|
||||
Button: MwClass;
|
||||
Calendar: MwClass;
|
||||
CheckBox: MwClass;
|
||||
Entry: MwClass;
|
||||
Frame: MwClass;
|
||||
|
|
@ -164,6 +165,7 @@ export interface MwNativeClasses {
|
|||
ScrollBar: MwClass;
|
||||
SubMenu: MwClass;
|
||||
SubWindow: MwClass;
|
||||
Tab: MwClass;
|
||||
Viewport: MwClass;
|
||||
Window: MwClass;
|
||||
ProgressBar: MwClass;
|
||||
|
|
@ -194,13 +196,12 @@ export interface PixmapOptions {
|
|||
}
|
||||
|
||||
export interface PixmapConstructor {
|
||||
new (cls: BaseWidget, options?: PixmapOptions): Pixmap;
|
||||
new (widget: BaseWidget, options?: PixmapOptions): Pixmap;
|
||||
}
|
||||
|
||||
export interface WidgetOptions {
|
||||
name?: string;
|
||||
parent?: BaseWidget;
|
||||
children?: BaseWidget[];
|
||||
x?: number;
|
||||
y?: number;
|
||||
width?: number;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { BaseWidget } from "./milsko";
|
||||
import { Pixmap } from "./types";
|
||||
import type { Pixmap } from "./types";
|
||||
|
||||
export class Widget extends BaseWidget {
|
||||
public setX(value: number): this {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Box extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
@ -66,4 +66,16 @@ export class Box extends Widget {
|
|||
set inverted(value: boolean) {
|
||||
this.setInteger("Iinverted", +value);
|
||||
}
|
||||
|
||||
public setWaitLayout(value: number): this {
|
||||
return this.setInteger("IwaitLayout", value);
|
||||
}
|
||||
|
||||
get waitLayout(): number {
|
||||
return this.getInteger("IwaitLayout");
|
||||
}
|
||||
|
||||
set waitLayout(value: number) {
|
||||
this.setInteger("IwaitLayout", value);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions, Pixmap } from "../types";
|
||||
import type { WidgetOptions, Pixmap } from "../types";
|
||||
|
||||
export class Button extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
69
lib/widgets/calendar.ts
Normal file
69
lib/widgets/calendar.ts
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Calendar extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
super(NativeClasses.Calendar, options);
|
||||
}
|
||||
|
||||
public setYear(value: number): this {
|
||||
return this.setInteger("Iyear", value);
|
||||
}
|
||||
|
||||
get year(): number {
|
||||
return this.getInteger("Iyear");
|
||||
}
|
||||
|
||||
set year(value: number) {
|
||||
this.setInteger("Iyear", value);
|
||||
}
|
||||
|
||||
public setMonth(value: number): this {
|
||||
return this.setInteger("Imonth", value);
|
||||
}
|
||||
|
||||
get month(): number {
|
||||
return this.getInteger("Imonth");
|
||||
}
|
||||
|
||||
set month(value: number) {
|
||||
this.setInteger("Imonth", value);
|
||||
}
|
||||
|
||||
public setDate(value: number): this {
|
||||
return this.setInteger("Idate", value);
|
||||
}
|
||||
|
||||
get date(): number {
|
||||
return this.getInteger("Idate");
|
||||
}
|
||||
|
||||
set date(value: number) {
|
||||
this.setInteger("Idate", value);
|
||||
}
|
||||
|
||||
public setDay(value: number): this {
|
||||
return this.setInteger("Iday", value);
|
||||
}
|
||||
|
||||
get day(): number {
|
||||
return this.getInteger("Iday");
|
||||
}
|
||||
|
||||
set day(value: number) {
|
||||
this.setInteger("Iday", value);
|
||||
}
|
||||
|
||||
public setScale(value: number): this {
|
||||
return this.setInteger("Iscale", value);
|
||||
}
|
||||
|
||||
get scale(): number {
|
||||
return this.getInteger("Iscale");
|
||||
}
|
||||
|
||||
set scale(value: number) {
|
||||
this.setInteger("Iscale", value);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class CheckBox extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class ComboBox extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Entry extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Frame extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions, Pixmap } from "../types";
|
||||
import type { WidgetOptions, Pixmap } from "../types";
|
||||
|
||||
export class Image extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
export { Box } from "./box";
|
||||
export { Button } from "./button";
|
||||
export { Calendar } from "./calendar";
|
||||
export { CheckBox } from "./checkbox";
|
||||
export { Entry } from "./entry";
|
||||
export { Frame } from "./frame";
|
||||
|
|
@ -17,3 +18,4 @@ export { RadioBox } from "./radiobox";
|
|||
export { ComboBox } from "./combobox";
|
||||
export { TreeView } from "./treeview";
|
||||
export { SubWindow } from "./subwindow";
|
||||
export { Tab } from "./tab";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Label extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class ListBox extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Menu extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class NumberEntry extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class ProgressBar extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class RadioBox extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class ScrollBar extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class SubMenu extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions, Pixmap } from "../types";
|
||||
import type { WidgetOptions, Pixmap } from "../types";
|
||||
|
||||
export class SubWindow extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
21
lib/widgets/tab.ts
Normal file
21
lib/widgets/tab.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Tab extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
super(NativeClasses.Tab, options);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class TreeView extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { WidgetOptions } from "../types";
|
||||
import type { WidgetOptions } from "../types";
|
||||
|
||||
export class Viewport extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { NativeClasses } from "../milsko";
|
||||
import { Widget } from "../widget";
|
||||
import { MwSizeHints } from "../structs";
|
||||
import { WidgetOptions, Pixmap } from "../types";
|
||||
import type { MwSizeHints } from "../structs";
|
||||
import type { WidgetOptions, Pixmap } from "../types";
|
||||
|
||||
export class Window extends Widget {
|
||||
constructor(options: WidgetOptions) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue