public override void Visit(PKControl item) { string strItems = ""; string strItemInit = ""; string strLayoutConfig = ""; item.Items.ToList().ForEach(x => { var visitor = new PKExt3CodeGenVisitor(); x.Accept(visitor); strItemInit += String.Format(@"this.{0} = {1};", x.Name, visitor.Code); strItems += String.Format("this.{0},", x.Name); }); if (strItems.Length > 0) { strItems = strItems.Remove(strItems.Length - 1, 1); } if (item.Layout.Name() == "vbox" || item.Layout.Name() == "hbox") { strLayoutConfig = "this.layoutConfig = {align: 'stretch'};"; } Code = string.Format(@"{0}=Ext.extend(Ext.Container,{{ initComponent: function(){{ this.layout = '{1}'; {2} {3} this.items=[{4}]; {0}.superclass.initComponent.apply(this, arguments); }} }});", item.Name, item.Layout.Name(), strLayoutConfig, strItemInit, strItems); }
public override void Visit(PKControl item) { UpdateFromBase(item); SetVisible("mnuCut", false); SetVisible("mnuDelete", false); contextMenuStrip.Show(control, x, y); }
public override void Visit(PKControl item) { var node = AddNode(item, 0); item.Items.ToList().ForEach(x => { x.Accept(new PKTreeNodeVisitor(node.Nodes)); }); }
internal void SetAppPage(PKControl pkApp) { this.appPage = pkApp; this.ResizeApp(); if (this.ItemAdded != null) { this.ItemAdded(appPage); } }
public override void Visit(PKControl item) { if ( AreSameType <PKContainer>(childItem) || AreSameType <PKTabPanel>(childItem) || AreSameType <PKPanel>(childItem) || AreSameType <PKGrid>(childItem)) { this.CanAdd = true; } }
private static string GenerateCode(PKControl mainApp) { PKExt3CodeGenVisitor visitor = new PKExt3CodeGenVisitor(); mainApp.Accept(visitor); return(new JSBeautify(visitor.Code, new JSBeautifyOptions { indent_char = ' ', indent_level = 1, indent_size = 4, preserve_newlines = false }).GetResult()); }
private void btnSave_Click(object sender, EventArgs e) { if (saveFileDialog1.ShowDialog() == DialogResult.OK) { PKControl cmp = this.pkExtDesigner.AppPage; //cmp.ComponentFileName = Path.GetFileName(saveFileDialog1.FileName); //cmp.IsComponent = true; string strJSON = PKStorage.Serialize(cmp); File.WriteAllText(saveFileDialog1.FileName, strJSON); } }
public override void Visit(PKControl item) { if (item.IsComponent) { PKFlatItem flatItem = new PKFlatItem(); this.FlatItems.Add(flatItem); UpdateFromBase(item, flatItem); flatItem.Text = item.Text; flatItem.IsComponent = true; flatItem.ComponentFileName = item.ComponentFileName; } else { Visit(item as PKContainer); } }
internal static void Generate(PKControl app) { string AppName = app.Name; string AppScript = PKExtCodeGenerator.GenerateCode(app); var strCode = string.Format(@"<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> <meta http-equiv='x-ua-compatible' content='IE=Edge' /> <title>PK Ext Designer Test</title> <link rel='stylesheet' type='text/css' href='http://extjs-public.googlecode.com/svn/tags/extjs-3.4.0/release/resources/css/ext-all.css' /> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js'></script> <script type='text/javascript' src='http://extjs-public.googlecode.com/svn/tags/extjs-3.4.0/release/adapter/ext/ext-base.js'></script> <script type='text/javascript' src='http://extjs-public.googlecode.com/svn/tags/extjs-3.4.0/release/ext-all.js'></script> <script type='text/javascript' src='C:\\{0}.js'></script> <script type='text/javascript'> Ext.onReady(function(){{ var app = new {0}({{ style: 'padding: 5px;', region: 'center' }}); new Ext.Viewport({{ padding: 10, layout: 'border', items: [app] }}); }}); </script> </head> <body> <div id='app'></div> </body> </html>", AppName); File.WriteAllText(string.Format("C:\\{0}.js", AppName), AppScript); File.WriteAllText("C:\\t.html", strCode); Process.Start("C:\\t.html"); }
public override void Visit(PKControl item) { canAddVisitor = new PKItemCanAddVisitor(newItem); item.Accept(canAddVisitor); if (canAddVisitor.CanAdd) { if (newItem is PKControl) { (newItem as PKControl).Items.ToList().ForEach(x => { item.Add(x); }); } else { item.Add(newItem); } this.Added = true; } }
public abstract void Visit(PKControl item);
public override void Visit(PKControl item) { }
private void form_ControlSelected(PKControl selectedControl) { this.pkExtDesigner.AddItem(selectedControl); }
public override void Visit(PKControl item) { item.Add(this.currentItem); }
public override void Visit(PKControl item) { Visit(item as PKContainer); }