Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function initUI()
- local size = vec2(800, 700)
- local res = getResolution()
- -- create window
- local menu = ScriptUI()
- mywindow = menu:createWindow(Rect(res * 0.5 - size * 0.5, res * 0.5 + size * 0.5))
- menu:registerWindow(mywindow, "Fleet Control")
- mywindow.caption = "Fleet Control"
- mywindow.showCloseButton = 1
- mywindow.moveable = 1
- local tabbedWindow = mywindow:createTabbedWindow(Rect(vec2(10, 10), size - 10))
- local tab = tabbedWindow:createTab("Orders", "data/textures/icons/ship.png", "Fleet Orders")
- buildOrdersUI(tab)
- local tab = tabbedWindow:createTab("Groups", "data/textures/icons/spanner.png", "Fleet Groups")
- buildGroupsUI(tab)
- scriptLog(nil, "control UI initialized successfully")
- end
- function buildOrdersUI(parent)
- local size = parent.size
- parent = parent:createScrollFrame(Rect(size))
- local groupStateX = -120
- local nameLabelX = 10
- local stateLabelX = -250
- local locLabelX = -100
- local y_grp = 100
- for _, shipgroup in pairs(shipgroups) do
- local split_grp = UIVerticalSplitter(Rect(10, y_grp, size.x - 50, 35 + y_grp), 10, 0, 0.5)
- split_grp.rightSize = 310
- local xl = split_grp.left.lower.x
- local xu = split_grp.left.upper.x
- local lblgroupname = parent:createLabel(vec2(xl, y_grp + 10), shipgroup.name, 16)
- --lblgroupname.bold = true
- local lblgroupstate = parent:createLabel(vec2(xu + groupStateX, y_grp + 14), shipgroup.state, 16)
- --lblgroupstate.italic = true
- local xlbtn = split_grp.right.lower.x
- local ylbtn = split_grp.right.lower.y
- for _, btninfo in pairs(orderButtonInfo) do
- local orderbtn = parent:createButton(Rect(xlbtn, ylbtn, xlbtn + 35, ylbtn + 35), btninfo.caption, "onGroupOrderPressed")
- orderbtn.tooltip = btninfo.text
- xlbtn = xlbtn + 40
- end
- y_grp = y_grp + 40
- local y_shp = y_grp
- for i, ship in pairs(shipgroup.ships) do
- local yText = y_shp + 6
- local split1 = UIVerticalSplitter(Rect(10, y_shp, size.x - 50, 30 + y_shp), 10, 0, 0.5)
- split1.rightSize = 100
- local frame = parent:createFrame(split1.left)
- local xl = split1.left.lower.x
- local xu = split1.left.upper.x
- local titleLabel = parent:createLabel(vec2(xl + nameLabelX, yText), ship.name, 15)
- local coordLabel = parent:createLabel(vec2(xu + stateLabelX, yText), ship.state, 15)
- local distLabel = parent:createLabel(vec2(xu + locLabelX, yText), ship.loc, 15)
- titleLabel.font = "Arial"
- coordLabel.font = "Arial"
- distLabel.font = "Arial"
- local cbox = parent:createComboBox(split1.right, "onShipOrderSelected")
- for _, btninfo in pairs(orderButtonInfo) do
- cbox:addEntry(btninfo.text)
- end
- y_shp = y_shp + 35
- y_grp = y_grp + 35
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement