123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #include <lib/std.mi>
- #define MARGIN 0
- Function resizeObjects();
- Global GuiObject left, right, center;
- Global Text tcenter;
- Global Layer lcenter;
- Global Group sg;
- Global int padleft, padright;
- System.onScriptLoaded() {
- padleft = 0;
- padright = 0;
- sg = getScriptGroup();
- if (sg == NULL) {
- messageBox("titlebar.maki can only run within a group", "Error", 0, "");
- return;
- }
- left = sg.findObject(getToken(getParam(), ";", 0));
- center = sg.findObject(getToken(getParam(), ";", 1));
- if (center != NULL) {
- tcenter = center.findObject("window.titlebar.title");
- lcenter = center.findObject("window.titlebar.title.overlay");
- }
- right = sg.findObject(getToken(getParam(), ";", 2));
- }
- // backward compatibility with prerelease notify trick
- sg.onNotify(String cmd, String param, int a, int b) {
- String _command = getToken(cmd, ",", 0);
- String _param = getToken(cmd, ",", 1);
- if (_command == "padtitleright" || _command == "padtitleright")
- onSetXuiParam(_command, _param);
- }
- System.onSetXuiParam(String param, String value) {
- if (param == "padtitleright") {
- padright = padright + StringToInteger(value);
- resizeObjects();
- }
- if (param == "padtitleleft") {
- padleft = padleft + StringToInteger(value);
- resizeObjects();
- }
- }
- resizeObjects() {
- int text_width = 0;
- int layout_width = 0;
- int group_width = sg.getWidth();
- Layout l = sg.getParentLayout();
- layout_width = l.getWidth();
- if (center != NULL) {
- text_width = center.getAutoWidth();
- }
- int lx = (layout_width - text_width) / 2;
- lx = l.clientToScreenX(lx);
- lx = sg.screenToClientX(lx);
- lx = lx - sg.getLeft();
- if (center != NULL) {
- center.setXmlParam("x", IntegerToString(lx));
- center.setXmlParam("relatx", "0");
- center.setXmlParam("w", IntegerToString(text_width));
- center.setXmlParam("relatw", "0");
- lcenter.setXmlParam("x", IntegerToString(lx));
- lcenter.setXmlParam("relatx", "0");
- lcenter.setXmlParam("w", IntegerToString(text_width));
- lcenter.setXmlParam("relatw", "0");
- }
- if (left != NULL) {
- left.setXmlParam("x", IntegerToString(padleft));
- left.setXmlParam("relatx", "0");
- left.setXmlParam("w", IntegerToString(lx-padleft-MARGIN));
- left.setXmlParam("relatw", "0");
- }
- if (right != NULL) {
- right.setXmlParam("x", IntegerToString(lx+text_width+MARGIN+1));
- right.setXmlParam("relatx", "0");
- right.setXmlParam("w", "-" + IntegerToString(lx+text_width+1+padright+MARGIN+1)); //IntegerToString(group_width-(lx+text_width)));
- right.setXmlParam("relatw", "1");
- }
- }
- tcenter.onTextChanged(string newtext) {
- resizeObjects();
- }
- sg.onResize(int x, int y, int w, int h) {
- resizeObjects();
- }
|