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);
        }
Example #2
0
        public override void Visit(PKControl item)
        {
            UpdateFromBase(item);

            SetVisible("mnuCut", false);
            SetVisible("mnuDelete", false);
            contextMenuStrip.Show(control, x, y);
        }
Example #3
0
        public override void Visit(PKControl item)
        {
            var node = AddNode(item, 0);

            item.Items.ToList().ForEach(x =>
            {
                x.Accept(new PKTreeNodeVisitor(node.Nodes));
            });
        }
Example #4
0
 internal void SetAppPage(PKControl pkApp)
 {
     this.appPage = pkApp;
     this.ResizeApp();
     if (this.ItemAdded != null)
     {
         this.ItemAdded(appPage);
     }
 }
Example #5
0
 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());
        }
Example #7
0
        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;
     }
 }
Example #11
0
 public abstract void Visit(PKControl item);
 public override void Visit(PKControl item)
 {
 }
Example #13
0
 private void form_ControlSelected(PKControl selectedControl)
 {
     this.pkExtDesigner.AddItem(selectedControl);
 }
 public override void Visit(PKControl item)
 {
     item.Add(this.currentItem);
 }
Example #15
0
 public override void Visit(PKControl item)
 {
     Visit(item as PKContainer);
 }