func init // adds using namespace sys.add_use('HiAsm') sys.add_use('System.ComponentModel') sys.add_use('System.Diagnostics') sys.add_use('System.IO') // adds assembly include("SDK") end func doAbout(data) blk.println('SplashScreen about = new SplashScreen();') .println('about.ShowDialog(this);') .println('about.Dispose();') .println('about = null;') end func doAlignBottom(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doAlignGrid(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.sdkEditor.csdk.alignAtGrid();') .println('sdkView.sdkEditor.Invalidate();') .dec().println('}') .dec().println('}') end func doAlignHorizontal(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doAlignLeft(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doAlignRight(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doAlignTop(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doAlignVertical(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.alignCtrls(data);') .dec().dec().println('}') end func doBack(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sdkEditor.csdk.selMan.copy();') .dec().dec().println('}') end func doBringToFront(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.bringToFront();') .dec().dec().println('}') end func doBuild(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.bringToFront();') .println('if (Share.sdkLog != null)').inc() .println('Share.sdkLog.Clear();') .dec().println('Share.sdkProjects.BuildRunProject(sdkView);') .dec().println('}') .dec().println('}') end func doCopy(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('if (sdkView.sdkEditor.csdk.parent != null)').inc() .println('sdkView.sdkEditor.leaveSDK();') .dec().dec().dec().println('}') end func doCut(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.sdkEditor.csdk.selMan.copy();') .println('sdkView.sdkEditor.csdk.selMan.erase();') .dec().println('}') .dec().println('}') end func doCommand(data) if(sys.if_null(data) and not linked("Command")) blk.println('Share.cmdMan.command(ConstantProvider.', this.props("Command").value, ');') else blk.println('Share.cmdMan.command(', d("Command"), ');') end end func doDelete(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('int items = sdkView.sdkEditor.csdk.selMan.elements.Count;') .println('string caption = "Delete element";') .println('if (items > 1)') .println('caption = "Delete " + items + " elements";').inc() .dec().println('DialogResult r = MessageBox.Show(this, "Are you sure?", caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);') .println('if (r == DialogResult.Yes) {').inc() .println('foreach (Element e in sdkView.sdkEditor.csdk.selMan.elements)').inc() .println('if ((e.flag & ConstantProvider.ELEMENT_FLG_IS_NODELETE) == 0 && (e.flag & ConstantProvider.ELEMENT_FLG_IS_PARENT) == 0)').inc() .println('sdkView.sdkEditor.csdk.remove(e);') .dec().dec().println('sdkView.sdkEditor.csdk.selMan.clear();') .dec().println('}') .dec().dec().println('}') .dec().println('}') end func doEditCode(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('foreach (Element e in sdkView.sdkEditor.csdk.selMan.elements) {').inc() .println('Pack pack = e.tpl.parent;') .println('string fileName = String.Format("hi{0}.{1}", e.tpl.name, pack.ext);') .println('string filePath = Path.Combine(pack.pathCode(), fileName);') .println('Share.textEditor = new ScriptEditorForm(filePath);') .println('Share.textEditor.Show(Share.dockPanel, DockState.Document);') .dec().println('}') .dec().println('}') .dec().dec().println('}') end func doEditConf(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('foreach (Element e in sdkView.sdkEditor.csdk.selMan.elements) {').inc() .println('Share.textEditor = new ScriptEditorForm(e.tpl.parent.pathElementConf(e.tpl.name));') .println('Share.textEditor.Show(Share.dockPanel, DockState.Document);') .dec().println('}') .dec().println('}') .dec().dec().println('}') end func doEditor(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('Element e = sdkView.sdkEditor.csdk.selMan.getFirst();') .println('if (e != null) {').inc() .println('ElementCoreTransmitter t = Share.shaDlg.run("StrListEditor");') .println('if (t == null) {').inc() .println('Debug.WriteLine("!Not yet implemented.");') .println('break;') .dec().println('}') .println('TData dt = new TData(e.tpl.conf.cClass);') .println('dt.push(new TData(e.sysProps.getByName("Hint").readStr()));') .println('TData result = t.run(dt);') .println('if (result.pop().toInt() == (int)DialogResult.OK) {').inc() .println('foreach (Element el in sdkView.sdkEditor.csdk.selMan.elements)').inc() .println('el.sysProps.getByName("Hint").setValue(result.toStr());') .dec().println('sdkView.Invalidate(true);') .dec().println('}') .dec().println('}') .dec().println('}') .dec().println('}') end func doEditSettings(data) blk.println('GlobalParams settings = new GlobalParams();') .println('settings.ShowDialog(this);') .println('settings.Dispose();') .println('settings = null;') end func doExit(data) blk.println('for (int i = 0; i < Share.listSDKView.Count; i++)').inc() .println('Share.listSDKView[i].SDKView_FormClosing(this, new FormClosingEventArgs(CloseReason.ApplicationExitCall, true));') .dec().println('Share.mdb.close();') .println('Environment.Exit(0);') end func doForum(data) blk.println('Process.Start("http://forum.hiasm.com");') end func doForward(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('Element el = sdkView.sdkEditor.csdk.selMan.empty() ? null : sdkView.sdkEditor.csdk.selMan.getFirst();') .println('if (el != null && el.sdk != null)').inc() .println('sdkView.sdkEditor.enterSDK(el);') .dec().dec().println('}') .dec().println('}') end func doMail(data) blk.println('if (Share.IsDebug())').inc() .println('Process.Start("mailto:support@hiasm.com");') .dec().println('else').inc() .println('Share.sendMail();').dec() end func doMakeHint(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sdkEditor.beginOperation(MouseOperation.MS_ADD_LINK_HINT);') .dec().dec().println('}') end func doNew(data) blk.println('SDKNewProject newProject = new SDKNewProject();') .println('newProject.ShowDialog(this);') .println('newProject.Dispose();') .println('newProject = null;') end func doOpen(data) blk.println('Share.sdkProjects.OpenProject();') end func doPaste(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sdkEditor.csdk.selMan.paste();') .dec().dec().println('}') end func doRemoveHint(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sdkEditor.beginOperation(MouseOperation.MS_REMOVE_LINK_HINT);') .dec().dec().println('}') end func doResizeWidth(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.makeSameSize(data);') .dec().dec().println('}') end func doResizeHeignt(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.makeSameSize(data);') .dec().dec().println('}') end func doResizeBoth(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.makeSameSize(data);') .dec().dec().println('}') end func doRevert(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('string[] files = new string[] { sdkView.msdk.fileName };') .println('sdkView.changed = false;') .println('sdkView.Close();') .println('Share.sdkProjects.OpenProjectFiles(files);') .dec().println('}') .dec().println('}') end func doRun(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.bringToFront();') .println('if (Share.sdkLog != null)').inc() .println('Share.sdkLog.Clear();') .dec().println('Share.sdkProjects.BuildRunProject(sdkView, true);') .dec().println('}') .dec().println('}') end func doSave(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('if (sdkView.Title == "NewProject.sha")').inc() .println('Share.sdkProjects.SaveAsProject(sdkView);') .dec().println('else').inc() .println('sdkView.msdk.saveToFile(sdkView.msdk.fileName);') .dec().println('}') .dec().println('}') end func doSaveAs(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('Share.sdkProjects.SaveAsProject(sdkView);') .dec().dec().println('}') end func doSelectAll(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sdkEditor.csdk.selMan.selectAll();') .dec().dec().println('}') end func doSendToBack(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('sdkView.sendToBack();') .dec().dec().println('}') end func doShowFormEditor(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null)').inc() .println('if (sdkView.formEdit == null)').inc() .println('sdkView.openFormEditor();') .dec().println('else').inc() .println('sdkView.closeFormEditor();') .dec().dec().dec().println('}') end func doShowLog(data) blk.println('Share.sdkLog.AutoHideOff();') .println('Share.sdkLog.Show(Share.dockPanel);') end func doShowProjects(data) blk.println('Share.sdkProjects.AutoHideOff();') .println('Share.sdkProjects.Show(Share.dockPanel);') end func doShowProperties(data) blk.println('Share.sdkProperties.AutoHideOff();') .println('Share.sdkProperties.Show(Share.dockPanel);') end func doShowToolbox(data) blk.println('Share.sdkToolBox.AutoHideOff();') .println('Share.sdkToolBox.Show(Share.dockPanel);') end func doStop(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.sdkEditor.csdk.getMSDK().packProject.stop(sdkView.handle);') .println('sdkView.running = false;') .dec().println('}') .dec().println('}') end func doUpdate(data) blk.println('Share.wmp.update(', d("SDKView"), ');') end func doZoomIn(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('float z = sdkView.sdkEditor.getZoom();') .println('z += 0.2f;') .println('float zz = float.Parse(z.ToString("0.0"));') .println('if (zz <= 4.0f) {').inc() .println('sdkView.sdkEditor.setZoom(zz);') .println('sdkView.trackBar.Value = (int)(zz * 100);') .dec().println('}') .dec().println('}') .dec().println('}') end func doZoomOut(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('float z = sdkView.sdkEditor.getZoom();') .println('z -= 0.2f;') .println('float zz = float.Parse(z.ToString("0.0"));') .println('if (zz >= 0.4f) {').inc() .println('sdkView.sdkEditor.setZoom(zz);') .println('sdkView.trackBar.Value = (int)(zz * 100);') .dec().println('}') .dec().println('}') .dec().println('}') end func doZoom100(data) blk.println('if (Share.ActiveDocument != null) {').inc() .println('SDKView sdkView = Share.ActiveDocument as SDKView;') .println('if (sdkView != null) {').inc() .println('sdkView.sdkEditor.setZoom(1.0f);') .println('sdkView.trackBar.Value = 100;') .dec().println('}') .dec().println('}') end func Command return('ConstantProvider.' + this.props("Command").value) end