예제 #1
0
        private List<SettingPanel> GetProjectSettingPages()
        {
            List<SettingPanel> list = new List<SettingPanel>();

            SettingPanel projectGlobal = new SettingPanel();
            projectGlobal.Panel = new GeneralPanel();
            if (this.inicialize != null)
                projectGlobal.Panel.Initialize(this, inicialize);
            projectGlobal.Widget = projectGlobal.Panel.CreatePanelWidget();
            list.Add(projectGlobal);

            SettingPanel applicationGlobal = new SettingPanel();
            applicationGlobal.Panel = new ApplicationPanel();
            if (this.inicialize != null)
                applicationGlobal.Panel.Initialize(this, inicialize);
            applicationGlobal.Widget = applicationGlobal.Panel.CreatePanelWidget();
            list.Add(applicationGlobal);

            SettingPanel conditionPanel = new SettingPanel();
            conditionPanel.Panel = new ProjectConditionsPanel();
            if (this.inicialize != null)
                conditionPanel.Panel.Initialize(this, inicialize);
            conditionPanel.Widget = conditionPanel.Panel.CreatePanelWidget();
            list.Add(conditionPanel);

            foreach (Rule rl in MainClass.Settings.Platform.Rules){

                if( (rl.Tag == -1 ) && !MainClass.Settings.ShowUnsupportedDevices) continue;
                if( (rl.Tag == -2 ) && !MainClass.Settings.ShowDebugDevices) continue;
                if (inicialize.GetType() == typeof(Project)) {
                    Project project = (Project)inicialize;
                    Device dvc = project.DevicesSettings.Find(x => x.TargetPlatformId == rl.Id);
                    if (dvc == null) {
                        Console.WriteLine("generate device -{0}",rl.Id);
                        dvc = new Device();
                        dvc.TargetPlatformId = rl.Id;
                        project.DevicesSettings.Add(dvc);
                    }

                    DevicePropertyData dpd = new DevicePropertyData();
                    dpd.Project = (Project)inicialize;
                    dpd.Device = dvc;

                    SettingPanel sp = new SettingPanel();
                    sp.Panel = new DevicePanel();
                    if (this.inicialize != null)
                        sp.Panel.Initialize(this, dpd);
                    sp.Widget = sp.Panel.CreatePanelWidget();

                    //string dirPublish = MainClass.Tools.GetPublishDirectory(rl.Specific);

                    /*if(!Device.CheckDevice(rl.Specific)) {
                        sp.Active = false;
                    }*/

                    list.Add(sp);
                }
            }

            return list;
        }
예제 #2
0
파일: DevicePanel.cs 프로젝트: moscrif/ide
        public DeviceWidget(DevicePropertyData dpd,Gtk.Window parent)
        {
            parentWindow = parent;
            this.dpd = dpd;
            this.Build();

            skinThemeControl = new SkinThemeControl();
            //table2.Attach(skinThemeControl,0,1,0,1,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Expand,0,0);
            /*this.WidthRequest = 650;
            this.HeightRequest = 500;*/
            hbox1.PackStart(skinThemeControl,true,true,0);
            //table2.Attach(skinThemeControl,0,2,0,1,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Expand,0,0);

            if(dpd.Device.Devicetype == DeviceType.iOS_5_0)
                GetIdentify();

            skinThemeControl.SetLabelWidth(115);
            skinThemeControl.SetDevice(dpd.Device);

            this.dpd.Project.GenerateDevices();

            switch (dpd.Device.Devicetype) {
            //switch ((DeviceType)dpd.Device.TargetPlatformId) {
            case DeviceType.Android_1_6:{

                table2.NRows = table2.NRows+5;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //GenerateFileEntry

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //
                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_BUNDLEIDENTIFIER);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_BUNDLEIDENTIFIER));
                GenerateBundleEntry(ref table2,Project.KEY_BUNDLEIDENTIFIER,MainClass.Languages.Translate("bundleIdentifier"),pp.PublishValue,3);

                Gtk.Expander expanderAndr16 = new Expander("Android signing");

                Table tblAndr16 = new Table(4,2,false);
                tblAndr16.RowSpacing = 3;

                expanderAndr16.Add(tblAndr16);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_KEYSTORE);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_KEYSTORE));
                GenerateFileMaskEntry(ref tblAndr16,Project.KEY_KEYSTORE,MainClass.Languages.Translate("keystore")+" ",pp.PublishValue,0);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_STOREPASSWORD);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_STOREPASSWORD));
                GenerateEntry(ref tblAndr16,Project.KEY_STOREPASSWORD,MainClass.Languages.Translate("storepassword")+" ",pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ALIAS);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_ALIAS));
                GenerateEntry(ref tblAndr16,Project.KEY_ALIAS,MainClass.Languages.Translate("alias")+" ",pp.PublishValue,2);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_KEYPASSWORD);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_KEYPASSWORD));
                GenerateEntry(ref tblAndr16,Project.KEY_KEYPASSWORD,MainClass.Languages.Translate("keypassword")+" ",pp.PublishValue,3);
                //
                table2.Attach(expanderAndr16,0,2,6,7,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderAndr16.ShowAll();

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SUPPORTEDDEVICES);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_SUPPORTEDDEVICES));
                GenerateComboBox(ref table2,Project.KEY_SUPPORTEDDEVICES,MainClass.Languages.Translate("supportedDevices"),pp.PublishValue,5,MainClass.Settings.AndroidSupportedDevices,true);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_PERMISSION);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_PERMISSION));
                GeneratePermissionEditor(ref table2,Project.KEY_PERMISSION,MainClass.Languages.Translate("permisions"),pp.PublishValue,6);

                break;
                }
            case DeviceType.Android_2_2:{

                if ((MainClass.Settings.InstallLocations == null) || ((MainClass.Settings.InstallLocations.Count <1 )) ){
                    MainClass.Settings.GenerateInstallLocation();
                }

                table2.NRows = table2.NRows+6;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //GenerateFileEntry

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //
                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_BUNDLEIDENTIFIER);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_BUNDLEIDENTIFIER));
                GenerateBundleEntry(ref table2,Project.KEY_BUNDLEIDENTIFIER,MainClass.Languages.Translate("bundleIdentifier"),pp.PublishValue,3);

                Gtk.Expander expanderAndr22 = new Expander("Android signing");

                Table tblAndr22 = new Table(4,2,false);
                tblAndr22.RowSpacing = 3;

                expanderAndr22.Add(tblAndr22);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_KEYSTORE);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_KEYSTORE));
                GenerateFileMaskEntry(ref tblAndr22,Project.KEY_KEYSTORE,MainClass.Languages.Translate("keystore")+" ",pp.PublishValue,0);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_STOREPASSWORD);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_STOREPASSWORD));
                GenerateEntry(ref tblAndr22,Project.KEY_STOREPASSWORD,MainClass.Languages.Translate("storepassword")+" ",pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ALIAS);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_ALIAS));
                GenerateEntry(ref tblAndr22,Project.KEY_ALIAS,MainClass.Languages.Translate("alias")+" ",pp.PublishValue,2);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_KEYPASSWORD);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_KEYPASSWORD));
                GenerateEntry(ref tblAndr22,Project.KEY_KEYPASSWORD,MainClass.Languages.Translate("keypassword")+" ",pp.PublishValue,3);

                table2.Attach(expanderAndr22,0,2,6,7,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderAndr22.ShowAll();

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SUPPORTEDDEVICES);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_SUPPORTEDDEVICES));
                GenerateComboBox(ref table2,Project.KEY_SUPPORTEDDEVICES,MainClass.Languages.Translate("supportedDevices"),pp.PublishValue,5,MainClass.Settings.AndroidSupportedDevices,true);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_INSTALLOCATION);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_INSTALLOCATION));
                GenerateComboBox(ref table2,Project.KEY_INSTALLOCATION,MainClass.Languages.Translate("installLocation"),pp.PublishValue,6,MainClass.Settings.InstallLocations,false);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_PERMISSION);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_PERMISSION));
                GeneratePermissionEditor(ref table2,Project.KEY_PERMISSION,MainClass.Languages.Translate("permisions"),pp.PublishValue,7);

                break;
                }

            case DeviceType.Bada_1_0:
            case DeviceType.Bada_1_1:
            case DeviceType.Bada_1_2:
            case DeviceType.Bada_2_0:{

                table2.NRows = table2.NRows+5;

                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);

                /*PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON_BADA1);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON_BADA1));
                GenerateFileMaskEntry(ref table1,Project.KEY_ICON_BADA1,MainClass.Languages.Translate("icon_f1", "100x96"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH_BADA1);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH_BADA1));
                GenerateFileMaskEntry(ref table1,Project.KEY_SPLASH_BADA1,MainClass.Languages.Translate("splash_f1","480x800"),pp.PublishValue,2);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON_BADA2);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON_BADA2));
                GenerateFileMaskEntry(ref table1,Project.KEY_ICON_BADA2,MainClass.Languages.Translate("icon_f1","50x47"),pp.PublishValue,3);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH_BADA2);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH_BADA2));
                GenerateFileMaskEntry(ref table1,Project.KEY_SPLASH_BADA2,MainClass.Languages.Translate("splash_f1","240x400"),pp.PublishValue,4);

                 pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON_BADA3);
                 if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON_BADA3));
                GenerateFileMaskEntry(ref table1,Project.KEY_ICON_BADA3,MainClass.Languages.Translate("icon_f1","50x50"),pp.PublishValue,xx);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH_BADA3);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH_BADA3));
                GenerateFileMaskEntry(ref table1,Project.KEY_SPLASH_BADA3,MainClass.Languages.Translate("splash_f1","320x480"),pp.PublishValue,xx);
                 */
                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_MANIFEST);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_MANIFEST));
                GenerateFileMaskEntry(ref table2,Project.KEY_MANIFEST,MainClass.Languages.Translate("manifest"),pp.PublishValue,3);
                //

                break;}
            case DeviceType.Symbian_9_4:{

                table2.NRows = table2.NRows+7;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_APPLICATIONID);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_APPLICATIONID));
                GenerateEntryWithMenu(ref table2,Project.KEY_APPLICATIONID,MainClass.Languages.Translate("application_id"),pp.PublishValue,3);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_CERTIFICATE);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_CERTIFICATE));
                GenerateFileMaskEntry(ref table2,Project.KEY_CERTIFICATE,MainClass.Languages.Translate("certificate"),pp.PublishValue,4);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_KEY);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_KEY));
                GenerateFileMaskEntry(ref table2,Project.KEY_KEY,MainClass.Languages.Translate("key"),pp.PublishValue,5);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_PASSWORD);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_PASSWORD));
                GenerateEntry(ref table2,Project.KEY_PASSWORD,MainClass.Languages.Translate("password_f1"),pp.PublishValue,6);
                //
                break;}
            case DeviceType.iOS_5_0:{

                table2.NRows = table2.NRows+10;
            //
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_BUNDLEIDENTIFIER);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_BUNDLEIDENTIFIER));
                GenerateBundleEntry(ref table2,Project.KEY_BUNDLEIDENTIFIER,MainClass.Languages.Translate("bundleIdentifier"),pp.PublishValue,1);

                 pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_CODESIGNINGIDENTITY);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_CODESIGNINGIDENTITY));
                GenerateComboBoxSigning(ref table2,Project.KEY_CODESIGNINGIDENTITY,MainClass.Languages.Translate("codeSigningIdentity"),pp.PublishValue,2,securityIOs);
                //GenerateComboBox(ref table1,Project.KEY_CODESIGNINGIDENTITY,MainClass.Languages.Translate("codeSigningIdentity"),pp.PublishValue,2,securityIOs);

                //GenerateEntry(ref table1,Project.KEY_CODESIGNINGIDENTITY,MainClass.Languages.Translate("codeSigningIdentity"),pp.PublishValue,1);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SUPPORTEDDEVICES);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp = new PublishProperty(Project.KEY_SUPPORTEDDEVICES));
                GenerateComboBox(ref table2,Project.KEY_SUPPORTEDDEVICES,MainClass.Languages.Translate("supportedDevices"),pp.PublishValue,3,MainClass.Settings.OSSupportedDevices,false);

                // iPhone4
                Gtk.Expander expanderiPh4 = new Expander("iPhone 4(S)");
                Table tbliPh4 = new Table(2,2,false);
                tbliPh4.RowSpacing = 3;
                expanderiPh4.Add(tbliPh4);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IP4ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IP4ICON));
                GenerateFileMaskEntry(ref tbliPh4,Project.KEY_IP4ICON,"Icon : ",pp.PublishValue,0,true,MainClass.Languages.Translate("property_ios_icon",114,114));

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IP4SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IP4SPLASH));
                GenerateFileMaskEntry(ref tbliPh4,Project.KEY_IP4SPLASH,"Splash : ",pp.PublishValue,1,MainClass.Languages.Translate("property_ios_splash",640,960));

                table2.Attach(expanderiPh4,0,2,6,7,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderiPh4.ShowAll();

                // iPhone5
                Gtk.Expander expanderiPh5 = new Expander("iPhone 5");
                Table tbliPh5 = new Table(4,2,false);
                tbliPh5.RowSpacing = 3;
                expanderiPh5.Add(tbliPh5);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IP5ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IP5ICON));

                GenerateFileMaskEntry(ref tbliPh5,Project.KEY_IP5ICON,"Icon : ",MainClass.Languages.Translate("property_ios_icon_4s"),0,false,MainClass.Languages.Translate("property_ios_icon",114,114));

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IP5SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IP5SPLASH));
                GenerateFileMaskEntry(ref tbliPh5,Project.KEY_IP5SPLASH,"Splash : ",pp.PublishValue,1,MainClass.Languages.Translate("property_ios_splash",640,1136));

                table2.Attach(expanderiPh5,0,2,7,8,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderiPh5.ShowAll();

                // iPad2
                Gtk.Expander expanderiPd2 = new Expander("iPad 2");
                Table tbliPd2 = new Table(4,2,false);
                tbliPd2.RowSpacing = 3;
                expanderiPd2.Add(tbliPd2);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IPADICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IPADICON));
                GenerateFileMaskEntry(ref tbliPd2,Project.KEY_IPADICON,"Icon : ",pp.PublishValue,0,MainClass.Languages.Translate("property_ios_icon",72,72));

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_IPADSPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_IPADSPLASH));
                GenerateFileMaskEntry(ref tbliPd2,Project.KEY_IPADSPLASH,"Splash : ",pp.PublishValue,1,MainClass.Languages.Translate("property_ios_splash",768,1004));

                table2.Attach(expanderiPd2,0,2,8,9,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderiPh5.ShowAll();

                // new iPad
                Gtk.Expander expanderNewiPd = new Expander("the new iPad");
                Table tbliNewPd = new Table(4,2,false);
                tbliNewPd.RowSpacing = 3;
                expanderNewiPd.Add(tbliNewPd);

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_INEWPADICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_INEWPADICON));
                GenerateFileMaskEntry(ref tbliNewPd,Project.KEY_INEWPADICON,"Icon : ",pp.PublishValue,0,MainClass.Languages.Translate("property_ios_icon",144,144));

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_INEWPADSPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_INEWPADSPLASH));
                GenerateFileMaskEntry(ref tbliNewPd,Project.KEY_INEWPADSPLASH,"Splash : ",pp.PublishValue,1,MainClass.Languages.Translate("property_ios_splash",1536,2008));

                table2.Attach(expanderNewiPd,0,2,9,10,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Shrink,0,0);
                expanderiPh5.ShowAll();

                break;
            }
            case DeviceType.PocketPC_2003SE:
            case DeviceType.WindowsMobile_5:
            case DeviceType.WindowsMobile_6:{

                table2.NRows = table2.NRows+3;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //
                break;
            }
            case DeviceType.Windows:{

                table2.NRows = table2.NRows+3;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //
                break;
            }
            case DeviceType.MacOs:{

                table2.NRows = table2.NRows+3;
                PublishProperty pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_ICON);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_ICON));
                GenerateFileMaskEntry(ref table2,Project.KEY_ICON,MainClass.Languages.Translate("icon"),pp.PublishValue,1);
                //

                pp = FindPublishProperty(dpd.Device.PublishPropertisMask, Project.KEY_SPLASH);
                if (pp == null)
                    dpd.Device.PublishPropertisMask.Add(pp =new PublishProperty(Project.KEY_SPLASH));
                GenerateFileMaskEntry(ref table2,Project.KEY_SPLASH,MainClass.Languages.Translate("splash"),pp.PublishValue,2);
                //
                break;
            }

            default:{
                break;
            }

            }
            nvFonts.Model = fontListStore;

            CellRendererToggle crt = new CellRendererToggle();
            crt.Activatable = true;
            crt.Toggled += delegate(object o, ToggledArgs args) {
                    TreeIter iter;
                    if (fontListStore.GetIter (out iter, new TreePath(args.Path))) {
                        bool old = (bool) fontListStore.GetValue(iter,2);
                     	string font = (string) fontListStore.GetValue(iter,4);
                        //CombinePublish cp =(CombinePublish) fontListStore.GetValue(iter,2);
                        //cp.IsSelected = !old;
                        if(old)
                            fonts.Remove(font);
                        else fonts.Add(font);

                        fontListStore.SetValue(iter,2,!old);
                }
            };

            nvFonts.AppendColumn("", crt , "active", 2);
            nvFonts.AppendColumn(MainClass.Languages.Translate("name"), new Gtk.CellRendererText(), "text", 0);
            //nvFonts.AppendColumn(MainClass.Languages.Translate("path"), new Gtk.CellRendererText(), "text", 1);
            nvFonts.AppendColumn(MainClass.Languages.Translate("location"), new Gtk.CellRendererText(), "text", 3);

            //nvFonts.Columns [1].Visible = false;

            string[] listFont = Directory.GetFiles(MainClass.Workspace.RootDirectory, "*.ttf");
            // fonty z projektoveho adresara
            string[] listFontProject = Directory.GetFiles(dpd.Project.AbsolutProjectDir, "*.ttf");

            if(MainClass.Platform.IsMac){ // for Mac UpperCase
                string[]  listFont2 = Directory.GetFiles(MainClass.Workspace.RootDirectory, "*.TTF");

                var list = new List<string>();
                list.AddRange(listFont);
                list.AddRange(listFont2);
                listFont = list.ToArray();

                string[] listFontProject2 = Directory.GetFiles(dpd.Project.AbsolutProjectDir, "*.TTF");

                list = new List<string>();
                list.AddRange(listFontProject);
                list.AddRange(listFontProject2);
                listFontProject = list.ToArray();
            }

            if(dpd.Device != null && (dpd.Device.Includes!= null) && (dpd.Device.Includes.Fonts != null)){
                fonts = new List<string>(dpd.Device.Includes.Fonts);

                // odobratie neplatnich fontov - ak je nastaveny a nieje vo workspace - alebo v projektovom adresary
                List<string> fontsTmp = new List<string>(listFont);

                List<string> fontsTmpPrj = new List<string>(listFontProject);

                foreach (string fi in dpd.Device.Includes.Fonts) {

                    int strFontWorks = fontsTmp.FindIndex(x=>System.IO.Path.GetFileName(x) == fi);

                    string tmp =fi;
                    tmp = tmp.Replace('/',System.IO.Path.DirectorySeparatorChar);
                    tmp = tmp.Replace('\\',System.IO.Path.DirectorySeparatorChar);

                    int strFontPrj =fontsTmpPrj.FindIndex(x=>
                        System.IO.Path.Combine(dpd.Project.ProjectName,System.IO.Path.GetFileName(x)) == tmp);

                    if (strFontWorks<0 && strFontPrj<0) fonts.Remove(fi);

                }
            } else fonts = new List<string>();

            Gtk.TreeIter firstSelectedTI = new Gtk.TreeIter();
            bool scrollToIter = false;
            foreach (string fi in listFont) {

                string fontname = System.IO.Path.GetFileName(fi);

                // ak obsahuje font v nazve medzeru nepouzije sa
                if(fontname.Contains(" ") ){
                    MainClass.MainWindow.OutputConsole.WriteError("IGNORE FONT : '"+fontname+"' Invalid name contains a spacenvalid name contains a space \n");
                    continue;
                }

                bool isSelect = false;

                int strNumber = fonts.FindIndex(x=>x == fontname);
                if (strNumber>-1) isSelect = true;
                if(isSelect && !scrollToIter){
                    scrollToIter = true;
                    firstSelectedTI =fontListStore.AppendValues(System.IO.Path.GetFileName(fi), fi,isSelect,MainClass.Languages.Translate("location_workspace"),System.IO.Path.GetFileName(fi));
                } else {
                    fontListStore.AppendValues(System.IO.Path.GetFileName(fi), fi,isSelect,MainClass.Languages.Translate("location_workspace"),System.IO.Path.GetFileName(fi));
                }
            }

            foreach (string fi in listFontProject) {

                string fontname = System.IO.Path.GetFileName(fi);

                // ak obsahuje font v nazve medzeru nepouzije sa
                if(fontname.Contains(" ") ){
                    MainClass.MainWindow.OutputConsole.WriteError("IGNORE FONT : '"+fontname+"' Invalid name contains a spacenvalid name contains a space");
                    continue;
                }

                bool isSelect = false;
                string fontPath = System.IO.Path.Combine(dpd.Project.ProjectName,System.IO.Path.GetFileName(fi));
                //string fontPath = System.IO.Path.GetFileName(fi);
                string tmp =fi;
                tmp = tmp.Replace('/',System.IO.Path.DirectorySeparatorChar);
                tmp = tmp.Replace('\\',System.IO.Path.DirectorySeparatorChar);

                int strNumber = fonts.FindIndex(x=>
                    x.Replace('/',System.IO.Path.DirectorySeparatorChar).Replace('\\',System.IO.Path.DirectorySeparatorChar)
                    == fontPath);
                if (strNumber>-1) isSelect = true;

                if(isSelect && !scrollToIter){
                    scrollToIter = true;
                    firstSelectedTI =fontListStore.AppendValues(System.IO.Path.GetFileName(fi), fi,isSelect,MainClass.Languages.Translate("location_application"),fontPath);
                } else{
                    fontListStore.AppendValues(System.IO.Path.GetFileName(fi), fi,isSelect,MainClass.Languages.Translate("location_application"),fontPath);
                }
            }

            if(scrollToIter){
                TreePath path = fontListStore.GetPath(firstSelectedTI);
                nvFonts.ScrollToCell(path,null, false, 0, 0);
            }

            skinThemeControl.ShowAll();
            //ShowWidget();
            /*
            Gtk.CellRendererText textRenderer2 = new Gtk.CellRendererText();
            cbTheme.PackStart(textRenderer2, true);
            //cbTheme.AddAttribute(textRenderer2, "text", 0);
            cbTheme.Model = themeListStore;

            Gtk.CellRendererText textRenderer = new Gtk.CellRendererText();
            cbSkin.PackStart(textRenderer, true);
            //cbSkin.AddAttribute(textRenderer, "text", 0);
            cbSkin.Model = skinListStore;

            cbSkin.Changed += new EventHandler(OnComboSkinChanged);

            if(dpd.Project.NewSkin){
                string skinDir = System.IO.Path.Combine(MainClass.Workspace.RootDirectory,  MainClass.Settings.SkinDir);
                //cbSkin.Changed += new EventHandler(OnComboSkinChangedNew);
                FillSkinComboNew(skinDir);

            }*/
        }
예제 #3
0
        private List <SettingPanel> GetProjectSettingPages()
        {
            List <SettingPanel> list = new List <SettingPanel>();

            SettingPanel projectGlobal = new SettingPanel();

            projectGlobal.Panel = new GeneralPanel();
            if (this.inicialize != null)
            {
                projectGlobal.Panel.Initialize(this, inicialize);
            }
            projectGlobal.Widget = projectGlobal.Panel.CreatePanelWidget();
            list.Add(projectGlobal);


            SettingPanel applicationGlobal = new SettingPanel();

            applicationGlobal.Panel = new ApplicationPanel();
            if (this.inicialize != null)
            {
                applicationGlobal.Panel.Initialize(this, inicialize);
            }
            applicationGlobal.Widget = applicationGlobal.Panel.CreatePanelWidget();
            list.Add(applicationGlobal);

            SettingPanel conditionPanel = new SettingPanel();

            conditionPanel.Panel = new ProjectConditionsPanel();
            if (this.inicialize != null)
            {
                conditionPanel.Panel.Initialize(this, inicialize);
            }
            conditionPanel.Widget = conditionPanel.Panel.CreatePanelWidget();
            list.Add(conditionPanel);

            foreach (Rule rl in MainClass.Settings.Platform.Rules)
            {
                if ((rl.Tag == -1) && !MainClass.Settings.ShowUnsupportedDevices)
                {
                    continue;
                }
                if ((rl.Tag == -2) && !MainClass.Settings.ShowDebugDevices)
                {
                    continue;
                }
                if (inicialize.GetType() == typeof(Project))
                {
                    Project project = (Project)inicialize;
                    Device  dvc     = project.DevicesSettings.Find(x => x.TargetPlatformId == rl.Id);
                    if (dvc == null)
                    {
                        Console.WriteLine("generate device -{0}", rl.Id);
                        dvc = new Device();
                        dvc.TargetPlatformId = rl.Id;
                        project.DevicesSettings.Add(dvc);
                    }

                    DevicePropertyData dpd = new DevicePropertyData();
                    dpd.Project = (Project)inicialize;
                    dpd.Device  = dvc;

                    SettingPanel sp = new SettingPanel();
                    sp.Panel = new DevicePanel();
                    if (this.inicialize != null)
                    {
                        sp.Panel.Initialize(this, dpd);
                    }
                    sp.Widget = sp.Panel.CreatePanelWidget();

                    //string dirPublish = MainClass.Tools.GetPublishDirectory(rl.Specific);

                    /*if(!Device.CheckDevice(rl.Specific)) {
                     *      sp.Active = false;
                     * }*/

                    list.Add(sp);
                }
            }

            return(list);
        }
예제 #4
0
파일: DevicePanel.cs 프로젝트: moscrif/ide
        public override void Initialize(PreferencesDialog dialog, object dataObject)
        {
            base.Initialize(dialog, dataObject);
            if (dataObject.GetType() == typeof(DevicePropertyData)) {
                dpd = (DevicePropertyData)dataObject;

                Rule plarform = dpd.Device.Platform;//MainClass.Settings.Platform.Rules.Find(x=>x.Id ==dpd.Device.TargetPlatformId);

                if (plarform != null) {

                    label = plarform.Name;//dpd.Device.TargetPlatform;

                    switch (dpd.Device.Devicetype) {
                    //switch ((DeviceType)dpd.Device.MobileOs) {
                        case DeviceType.Android_1_6:{
                            ico = "android.png";
                            break;}
                        case DeviceType.Android_2_2:{
                            ico = "android.png";
                            break;}
                        case DeviceType.Bada_1_0:
                        case DeviceType.Bada_1_1:
                        case DeviceType.Bada_1_2:
                        case DeviceType.Bada_2_0:{
                            ico = "bada.png";
                            break;}
                        case DeviceType.Symbian_9_4:{
                            ico = "symbian.png";
                            break;}
                        case DeviceType.iOS_5_0:{
                            ico = "apple.png";
                            break;}
                        case DeviceType.PocketPC_2003SE:
                        case DeviceType.WindowsMobile_5:
                        case DeviceType.WindowsMobile_6:{
                            ico = "windows.png";
                            break;}
                        case DeviceType.Windows:{
                            ico = "win32.png";
                            break;}
                        case DeviceType.MacOs:{
                            ico = "macos.png";
                            break;}
                        default:{
                            ico = "empty.png";
                            break;}
                    }
                } else
                    label = "INVALIDATE";
            }
        }