Open source Star Ruler 2 source code!

This commit is contained in:
Lucas de Vries
2018-07-17 14:15:37 +02:00
commit cc307720ff
4342 changed files with 2365070 additions and 0 deletions
@@ -0,0 +1,49 @@
#section disable menu
import dialogs.Dialog;
import elements.GuiFileChooser;
import util.design_export;
class DesignExportDialog : Dialog {
const Design@ dsg;
const DesignClass@ targetClass;
GuiFileChooser@ chooser;
DesignExportDialog(const Design@ Dsg, const DesignClass@ Cls, IGuiElement@ bind) {
super(bind);
addTitle(locale::EXPORT_DESIGN);
@dsg = Dsg;
@targetClass = Cls;
@window.callback = this;
@chooser = GuiFileChooser(window, Alignment(Left+12, Top+38, Right-12, Bottom-12), modProfile["designs"], "", CFM_Filename);
chooser.selectedFilename = dsg.name + ".design";
height = 500;
}
void focus() {
Dialog::focus();
chooser.filename.focus(true);
}
//Event callbacks
void clickConfirm() {
write_design(dsg, chooser.getSelectedPath(true), targetClass);
}
bool onGuiEvent(const GuiEvent& event) {
if(event.caller is chooser && event.type == GUI_Confirmed) {
clickConfirm();
close();
return true;
}
return Dialog::onGuiEvent(event);
}
};
DesignExportDialog@ exportDesign(const Design@ dsg, const DesignClass@ cls, IGuiElement@ bind = null) {
DesignExportDialog dlg(dsg, cls, bind);
addDialog(dlg);
return dlg;
}