37 lines
1.1 KiB
Protocol Buffer
37 lines
1.1 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package guipb;
|
||
|
|
||
|
import "google/protobuf/timestamp.proto";
|
||
|
|
||
|
// option go_package = "go.wit.com/lib/protobuf/widgetpb";
|
||
|
|
||
|
message Widget {
|
||
|
int32 id = 1; // Unique ID number for this widget
|
||
|
int32 parent = 2; // Unique ID number for the parent
|
||
|
google.protobuf.Timestamp last_updated = 3;
|
||
|
string ProgName = 4; // unique string used for programming and debugging
|
||
|
string label = 5; // the label
|
||
|
repeated string dropdown = 6; // a list of strings for the user to select from
|
||
|
|
||
|
enum WidgetType {
|
||
|
Window = 0; // in certain gui's (ncurses), these are tabs
|
||
|
Box = 1; // a vertical or horizontal stack of widgets
|
||
|
Grid = 2; // like drawers in a chest
|
||
|
Group = 3; // like the 'Appetizers' section on a menu
|
||
|
Button = 4;
|
||
|
Checkbox = 5; // select 'on' or 'off'
|
||
|
Dropdown = 6;
|
||
|
Combobox = 7; // dropdown with edit=true
|
||
|
Label = 8;
|
||
|
Slider = 9; // like a progress bar
|
||
|
Spinner = 10; // like setting the oven temperature
|
||
|
Separator = 11; // adds a visual break between things
|
||
|
}
|
||
|
|
||
|
message Range {
|
||
|
int32 Low = 1;
|
||
|
int32 High = 2;
|
||
|
}
|
||
|
}
|