gocui/view.proto

43 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package main;
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
// maybe put all the gocui specific stuff here.
message GocuiState { // `autogenpb:nomutex`
bool visible = 1;
bool internal = 2;
int64 w0 = 3;
int64 h0 = 4;
int64 w1 = 5;
int64 h1 = 6;
}
message ViewSettings { // `autogenpb:nomutex`
bool pack = 1;
int64 framesize = 5;
}
message Tree {
View parent = 1;
repeated View children = 2;
View node = 3;
}
// this is the gocui 'view' in binary tree form
message View {
int64 widgetId = 3; // `autogenpb:unique` `autogenpb:sort`
string name = 4; // `autogenpb:unique` `autogenpb:sort`
GocuiState state = 7;
}
message Views { // `autogenpb:marshal` `autogenpb:mutex`
string uuid = 1; // `autogenpb:uuid:d19c1fbb-32c2-4957-aee6-f8128a511dca`
string version = 2; // `autogenpb:version:v0.0.1`
repeated View Views = 3;
Tree tree = 4;
map<string, string> junk = 5;
ViewSettings settings = 6;
}