예제 #1
0
    /// <summary>
    /// Getdialogs the service.
    /// </summary>
    /// <returns></returns>
    private IWebDialogService GetdialogService()
    {
        WorkItem workItem = null;
        Control  testVal  = Parent;
        int      cnt      = 0;

        while ((!(testVal is IWorkspace)) && (testVal != null) && (cnt < 5))
        {
            testVal = testVal.Parent;
        }
        if (testVal is MainContentWorkspace)
        {
            MainContentWorkspace ws = (MainContentWorkspace)testVal;
            workItem = ws.WorkItem.Parent;
        }
        else if (testVal is TabWorkspace)
        {
            TabWorkspace ws = (TabWorkspace)testVal;
            workItem = ws.WorkItem.Parent;
        }
        else if (testVal is DialogWorkspace)
        {
            DialogWorkspace ws = (DialogWorkspace)testVal;
            workItem = ws.WorkItem.Parent;
        }
        if (workItem == null)
        {
            return(null);
        }
        return(workItem.Services.Get <IWebDialogService>());
    }
예제 #2
0
        public void TabIsRemovedWhenWorkItemIsDisposed()
        {
            TabWorkspace workspace = new TabWorkspace();

            workItem.Items.Add(workspace);

            workItem.Workspaces.Add(workspace, "TabWorkspace");

            WorkItem child     = workItem.Items.AddNew <WorkItem>();
            Control  smartPart = new Control();

            child.Items.Add(smartPart);

            TabWorkspace myWS = (TabWorkspace)child.Workspaces["TabWorkspace"];

            myWS.Show(smartPart);

            Assert.AreEqual(1, workspace.TabCount);
            Assert.IsTrue(workspace.Contains(smartPart));

            child.Dispose();

            Assert.IsFalse(workspace.Contains(smartPart));
            Assert.AreEqual(0, workspace.TabCount);
        }
        public void CloseTabPageAddedAtDesignTime()
        {
            // Create new instance to simulate design-time creation.
            workspace = new TabWorkspace();
            workItem.Items.Add(workspace);
            MockWPFSmartPart sp1 = new MockWPFSmartPart();

            workItem.Items.Add(sp1);

            TabPage page = new TabPage();
            IWPFUIElementAdapter catalog = workItem.Services.Get <IWPFUIElementAdapter>();
            Control wrapper = catalog.Wrap(sp1);

            page.Controls.Add(wrapper);
            page.Name = Guid.NewGuid().ToString();
            workspace.TabPages.Add(page);

            owner = new Form();
            owner.Controls.Add(workspace);
            owner.Show();

            workspace.Close(sp1);

            Assert.AreEqual(0, workspace.TabPages.Count);
        }
        public DrinksDistributorShellForm(ShellWorkItem workItem, IWorkItemTypeCatalogService workItemTypeCatalog) : this()
        {
            _rootWorkItem = workItem;

            // Creates the CAB TabWorkspace.
            _workspace = this._rootWorkItem.Workspaces.AddNew <TabWorkspace>("DrinksDistributorWorkspace");

            // Configure the TabWorkspace. It fills all the available space.
            TabWorkspace tabWorkspace = _workspace as TabWorkspace;

            tabWorkspace.Dock = DockStyle.Fill;

            // Display the TabWorkspace by adding it to shell GUI controls.
            this.Controls.Add(tabWorkspace);

            // Initialize Work items for all Views.
            ClientWorkItem clientWorkItem = _rootWorkItem.WorkItems.AddNew <ClientWorkItem>();
            DrinksWorkItem drinksWorkItem = _rootWorkItem.WorkItems.AddNew <DrinksWorkItem>();
            AdminWorkItem  adminWorkItem  = _rootWorkItem.WorkItems.AddNew <AdminWorkItem>();

            // Generate the tabs and the smartpart tab pages.
            clientWorkItem.Generate(_workspace);
            drinksWorkItem.Generate(_workspace);
            adminWorkItem.Generate(_workspace);
        }
 public VisualizerWindow()
 {
     InitializeComponent();
     //doing this in XAML causes issues with a non-fixed assembly version
     TabWorkspace tabWorkspace = new TabWorkspace();
     tabWorkspace.Name = "MainWorkspace";
     Content = tabWorkspace;
 }
예제 #6
0
        public VisualizerWindow()
        {
            InitializeComponent();
            //doing this in XAML causes issues with a non-fixed assembly version
            TabWorkspace tabWorkspace = new TabWorkspace();

            tabWorkspace.Name = "MainWorkspace";
            Content           = tabWorkspace;
        }
            public MockControlWithWorkspace()
            {
                workspace      = new TabWorkspace();
                workspace.Name = "TestName";

                button = new Button();

                this.Controls.Add(workspace);
                this.Controls.Add(button);
            }
    private Control FindCompActControl(string controlID)
    {
        TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;

        if (ActivityTabs != null)
        {
            Control tabControl = ActivityTabs.GetSmartPartByID("ActivityDetails");
            return(tabControl.FindControl(controlID));
        }
        return(null);
    }
예제 #9
0
 public void SetUp()
 {
     workItem  = new TestableRootWorkItem();
     workspace = new TabWorkspace();
     workItem.Workspaces.Add(workspace);
     workItem.Services.Add(typeof(IWorkItemActivationService), new SimpleWorkItemActivationService());
     sp    = new MockSmartPart();
     owner = new Form();
     owner.Controls.Add(workspace);
     owner.Show();
 }
        public void OnCustomerEdit(object sender, EventArgs args)
        {
            if (this.WorkItem.Status == WorkItemStatus.Active)
            {
                TabWorkspace tabWS = WorkItem.Workspaces[CustomerWorkItem.CUSTOMERDETAIL_TABWORKSPACE] as TabWorkspace;

                if (tabWS != null)
                {
                    tabWS.SelectedIndex = 0;
                }
            }
        }
예제 #11
0
    protected void btnSave_ClickActionBRC(object sender, EventArgs e)
    {
        TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;

        if (ActivityTabs != null)
        {
            Control     historyDetails       = ActivityTabs.GetSmartPartByID("HistoryDetails");
            SLXCheckBox CarryOverAttachments = historyDetails.FindControl("CarryOverAttachments") as SLXCheckBox;
            if (CarryOverAttachments == null)
            {
                throw new ApplicationException("CarryOverAttachments control not found.");
            }
            SLXCheckBox CarryOverNotes = historyDetails.FindControl("CarryOverNotes") as SLXCheckBox;
            if (CarryOverNotes == null)
            {
                throw new ApplicationException("CarryOverNotes control not found.");
            }
            ListBox FollowUpActivity = historyDetails.FindControl("FollowUpActivity") as ListBox;
            if (FollowUpActivity == null)
            {
                throw new ApplicationException("FollowUpActivity control not found.");
            }

            if (FollowUpActivity.SelectedValue == "None")
            {
                return;
            }

            Dictionary <string, string> args = new Dictionary <string, string>();
            args.Add("type", FollowUpActivity.SelectedValue);

            if (CarryOverNotes.Checked || CarryOverAttachments.Checked)
            {
                args.Add("historyid", EntityContext.EntityID.ToString());
            }
            if (CarryOverNotes.Checked)
            {
                args.Add("carryovernotes", "true");
            }
            if (CarryOverAttachments.Checked)
            {
                args.Add("carryoverattachments", "true");
            }
            var hist = BindingSource.Current as IHistory;
            if (hist != null)
            {
                args.Add("leadname", hist.LeadName);
            }

            new LinkHandler(Page).ScheduleActivity(args);
        }
    }
        [Ignore] // Strategy does not add children controls when they are not framework elements.
        public void EmptyStringNameIsReplaceWhenAdded()
        {
            TabWorkspace workspace = new TabWorkspace();

            control.Items.Add(workspace);

            workItem.Items.Add(control);

            ICollection <TabWorkspace> tabWorkSpaces = workItem.Workspaces.FindByType <TabWorkspace>();

            Assert.IsNull(workItem.Workspaces[workspace.Name]);
            Assert.IsTrue(tabWorkSpaces.Contains(workspace));
        }
예제 #13
0
        public void ParentChildWorkItemAndTabbedWorkspace()
        {
            WorkItem rootWorkItem = new TestableRootWorkItem();
            //rootWorkItem.Services.AddNew<SimpleWorkItemActivationService, IWorkItemActivationService>();

            TabWorkspace workspace = rootWorkItem.Items.AddNew <TabWorkspace>();

            ChildWorkItem childWorkItem = rootWorkItem.Items.AddNew <ChildWorkItem>();

            childWorkItem.Run(workspace);

            Assert.IsTrue(childWorkItem.Items.ContainsObject(childWorkItem.ContainedSmartPart));
            Assert.IsTrue(childWorkItem.Items.ContainsObject(childWorkItem.ContainingSmartPart));
            Assert.AreSame(childWorkItem.ContainedSmartPart, childWorkItem.ContainingSmartPart.Placeholder.SmartPart, "Placeholder was not correctly replaced.");
        }
예제 #14
0
        public void WorkspaceShowsCorrectTabFromWorkItem()
        {
            WorkItem      childWI  = workItem.Items.AddNew <WorkItem>();
            MockSmartPart parentSP = workItem.Items.AddNew <MockSmartPart>("SP");
            MockSmartPart childSP  = childWI.Items.AddNew <MockSmartPart>("SP");
            TabWorkspace  tabWS    = workItem.Items.AddNew <TabWorkspace>("TabWS");

            tabWS.Show(parentSP);
            tabWS.Show(childSP);

            tabWS.Show(parentSP);

            Assert.AreEqual(2, tabWS.TabPages.Count);
            Assert.AreSame(tabWS.TabPages[0], tabWS.SelectedTab);
        }
 protected void StartDate_DateTimeValueChanged(object sender, EventArgs e)
 {
     if (Activity.Recurring)
     {
         Activity.RecurrencePattern.Reset(TimeZone);
         TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;
         if (ActivityTabs != null)
         {
             TabInfo recurTab = ActivityTabs.GetTabByID("RecurringActivity");
             if (recurTab.WasUpdated)
             {
                 recurTab.Element.Panel.Update();
             }
         }
     }
 }
    private void DisableMembersAndResources()
    {
        TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;

        if (ActivityTabs != null)
        {
            foreach (TabInfo tab in ActivityTabs.Tabs)
            {
                if (tab.ID == "AddMembers")
                {
                    ActivityFormHelper.SetEnabled(tab.Content.Controls, false);
                }
                if (tab.ID == "AddResources")
                {
                    ActivityFormHelper.SetEnabled(tab.Content.Controls, false);
                }
            }
        }
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        BindingSource.OnCurrentEntitySet += delegate
        {
            _ActivityFormHelper = new ActivityFormHelper((Activity)BindingSource.Current);

            if (Activity.RecurrenceState == RecurrenceState.rstOccurrence)
            {
                TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;
                if (ActivityTabs != null)
                {
                    //Hide the Recurring tab if Activity is an Occurrence in a series.
                    ActivityTabs.Hide("RecurringActivity", true);
                }
            }
        };
    }
예제 #18
0
        public void CloseTabPageAddedAtDesignTime()
        {
            // Create new instance to simulate design-time creation.
            workspace = new TabWorkspace();
            workItem.Items.Add(workspace);
            MockSmartPart sp1 = new MockSmartPart();

            workItem.Items.Add(sp1);

            TabPage page = new TabPage();

            page.Controls.Add(sp1);
            sp1.Dock  = DockStyle.Fill;
            page.Name = Guid.NewGuid().ToString();
            workspace.TabPages.Add(page);

            owner = new Form();
            owner.Controls.Add(workspace);
            owner.Show();

            workspace.Close(sp1);

            Assert.AreEqual(0, workspace.TabPages.Count);
        }
예제 #19
0
        private void KLineViewForm_Load(object sender, EventArgs e)
        {
            CommandBarPopup ControlFile = (CommandBarPopup)AddButton(axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_FILE, "文件(&F)");
            {
                AddButton(ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_OPEN, "打开K线图(&O)");
                AddButton(ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_CLOSE, "关闭K线图(&C)", true);
                AddButton(ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_EXIT, "退出(&E)", true);
            }

            CommandBarPopup ControlView = (CommandBarPopup)AddButton(axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW, "视图(&V)");
            {
                AddButton(ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_CURVE, "显示价格曲线(&P)");
                AddButton(ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_INFO, "显示价格信息(&P)");

                CommandBarPopup ControlSearch = (CommandBarPopup)AddButton(ControlView.CommandBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_SEARCH_TYPE, "搜索方式");
                {
                    AddButton(ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略");
                    AddButton(ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略");
                    AddButton(ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略");
                    ControlSearch.CommandBar.SetTearOffPopup("选择策略", ID.ID_VIEW_SEARCH_TYPE, 150);
                }

                CommandBarPopup ControlToolBars = (CommandBarPopup)AddButton(ControlView.CommandBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_TOOLBAR, "工具栏(&T)");
                AddButton(ControlToolBars.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_TOOLBAR_STANDARD, "工具栏(&T)");
                AddButton(ControlToolBars.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_TOOLBAR_STATUSBAR, "状态栏(&S)");

                AddButton(ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_OPTIONS, "选项(&O)...", true);
            }

            CommandBarPopup ControlHelp = (CommandBarPopup)AddButton(axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_HELP, "帮助(&H)");
            {
                AddButton(ControlHelp.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_HELP_ABOUT, "关于(&A)...");
            }


            CommandBar ToolBar = axCommandBars.Add("标准", XTPBarPosition.xtpBarTop);
            {
                CommandBarButton Control = (CommandBarButton)AddButton(ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_OPEN, "打开K线图(&O)");
                Control.Style = XTPButtonStyle.xtpButtonIconAndCaption;
                AddButton(ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_CLOSE, "关闭K线图(&C)");

                Control            = (CommandBarButton)AddButton(ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_CURVE, "显示价格曲线(&P)");
                Control.BeginGroup = true;
                AddButton(ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_INFO, "显示价格信息(&P)");
                CommandBarPopup ControlColorPopup = (CommandBarPopup)AddButton(ToolBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_SEARCH_TYPE, "搜索方式", true);
                {
                    AddButton(ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略");
                    AddButton(ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略");
                    AddButton(ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略");
                    ControlColorPopup.CommandBar.SetTearOffPopup("选择策略", ID.ID_VIEW_SEARCH_TYPE, 150);
                }

                Control            = (CommandBarButton)AddButton(ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_OPTIONS, "选项(&O)");
                Control.BeginGroup = true;
            }

            CommandBar SearchBar = axCommandBars.Add("选择策略", XTPBarPosition.xtpBarTop);

            {
                AddButton(SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略");
                AddButton(SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略");
                AddButton(SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略");
                SearchBar.BarID   = ID.ID_VIEW_SEARCH_TYPE;
                SearchBar.Visible = false;
            }

            axCommandBars.KeyBindings.Add(ID.FCONTROL, 'O', ID.ID_FILE_OPEN);
            axCommandBars.KeyBindings.Add(ID.FCONTROL, 'C', ID.ID_FILE_CLOSE);

            axCommandBars.StatusBar.AddPane(0);
            axCommandBars.StatusBar.AddPane(ID.INDICATOR_CAPS);
            axCommandBars.StatusBar.AddPane(ID.INDICATOR_NUM);
            axCommandBars.StatusBar.AddPane(ID.INDICATOR_SCRL);
            axCommandBars.StatusBar.IdleText = "就绪";
            axCommandBars.StatusBar.Visible  = true;

            axCommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2007;
            axCommandBars.SetMDIClient(FindMDIClient().Handle.ToInt32());
            axCommandBars.EnableCustomization(true);

            m_Workspace = axCommandBars.ShowTabWorkspace(true);
            m_Workspace.EnableGroups();
        }
    public void OkButton_Click(object sender, EventArgs e)
    {
        RadioButton    rbLead           = null;
        DurationPicker ReminderDuration = null;

        TabWorkspace ActivityTabs = PageWorkItem.Workspaces["TabControl"] as TabWorkspace;

        if (ActivityTabs != null)
        {
            Control tabControl = ActivityTabs.GetSmartPartByID("ActivityDetails");
            rbLead           = tabControl.FindControl("rbLead") as RadioButton;
            ReminderDuration = tabControl.FindControl("ReminderDuration") as DurationPicker;
        }

        //break associations if not on that radio button per 1-61398
        if (rbLead != null)
        {
            if (rbLead.Checked)
            {
                Activity.ContactId     = null;
                Activity.OpportunityId = null;
                Activity.TicketId      = null;
                Activity.AccountId     = null;
                Activity.ContactName   = null;
                if (Activity.LeadId == null)
                {
                    Activity.AccountName = null;
                }
                Activity.OpportunityName = null;
                Activity.TicketNumber    = null;
            }
            else
            {
                Activity.LeadName = null;
                if (Activity.AccountId == null)
                {
                    Activity.AccountName = null;
                }
                Activity.LeadId = null;
            }
        }

        // save insert mode status since save will change it
        bool insertMode = Activity.ActivityId.Length != 12;
        bool recurring  = Activity.RecurrenceState == RecurrenceState.rstOccurrence;

        if (recurring)
        {
            ActivityOccurrence occ = (ActivityOccurrence)Activity;
            if (ReminderDuration != null)
            {
                occ.ReminderDuration = ReminderDuration.Value;
            }
            occ.Save();
        }
        else
        {
            if (ReminderDuration != null)
            {
                Activity.ReminderDuration = ReminderDuration.Value;
            }
            Activity.Save();
        }

        if (insertMode)
        {
            UpdateTempAttachments();
            if (recurring)
            {
                HandleRecurringAttachments();
            }
        }

        CloseParentDialog(true);
    }
예제 #21
0
        private void KLineViewForm_Load( object sender, EventArgs e )
        {
            CommandBarPopup ControlFile = (CommandBarPopup)AddButton( axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_FILE, "文件(&F)" );
            {
                AddButton( ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_OPEN, "打开K线图(&O)" );
                AddButton( ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_CLOSE, "关闭K线图(&C)", true );
                AddButton( ControlFile.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_EXIT, "退出(&E)", true );
            }

            CommandBarPopup ControlView = (CommandBarPopup)AddButton( axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW, "视图(&V)" );
            {
                AddButton( ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_CURVE, "显示价格曲线(&P)" );
                AddButton( ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_INFO, "显示价格信息(&P)" );

                CommandBarPopup ControlSearch = (CommandBarPopup)AddButton( ControlView.CommandBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_SEARCH_TYPE, "搜索方式" );
                {
                    AddButton( ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略" );
                    AddButton( ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略" );
                    AddButton( ControlSearch.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略" );
                    ControlSearch.CommandBar.SetTearOffPopup( "选择策略", ID.ID_VIEW_SEARCH_TYPE, 150 );
                }

                CommandBarPopup ControlToolBars = (CommandBarPopup)AddButton( ControlView.CommandBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_TOOLBAR, "工具栏(&T)" );
                AddButton( ControlToolBars.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_TOOLBAR_STANDARD, "工具栏(&T)" );
                AddButton( ControlToolBars.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_TOOLBAR_STATUSBAR, "状态栏(&S)" );

                AddButton( ControlView.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_OPTIONS, "选项(&O)...", true );
            }

            CommandBarPopup ControlHelp = (CommandBarPopup)AddButton( axCommandBars.ActiveMenuBar.Controls, XTPControlType.xtpControlPopup, ID.ID_HELP, "帮助(&H)" );
            {
                AddButton( ControlHelp.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_HELP_ABOUT, "关于(&A)..." );
            }


            CommandBar ToolBar = axCommandBars.Add( "标准", XTPBarPosition.xtpBarTop );
            {
                CommandBarButton Control = (CommandBarButton)AddButton( ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_OPEN, "打开K线图(&O)" );
                Control.Style = XTPButtonStyle.xtpButtonIconAndCaption;
                AddButton( ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_FILE_CLOSE, "关闭K线图(&C)" );

                Control = (CommandBarButton)AddButton( ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_CURVE, "显示价格曲线(&P)" );
                Control.BeginGroup = true;
                AddButton( ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_INFO, "显示价格信息(&P)" );
                CommandBarPopup ControlColorPopup = (CommandBarPopup)AddButton( ToolBar.Controls, XTPControlType.xtpControlPopup, ID.ID_VIEW_SEARCH_TYPE, "搜索方式", true );
                {
                    AddButton( ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略" );
                    AddButton( ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略" );
                    AddButton( ControlColorPopup.CommandBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略" );
                    ControlColorPopup.CommandBar.SetTearOffPopup( "选择策略", ID.ID_VIEW_SEARCH_TYPE, 150 );
                }

                Control = (CommandBarButton)AddButton( ToolBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_OPTIONS, "选项(&O)" );
                Control.BeginGroup = true;
            }

            CommandBar SearchBar = axCommandBars.Add( "选择策略", XTPBarPosition.xtpBarTop );
            {
                AddButton( SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_AUTO, "自动选择策略" );
                AddButton( SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_U50, "U50策略" );
                AddButton( SearchBar.Controls, XTPControlType.xtpControlButton, ID.ID_VIEW_SEARCH_D50, "D50策略" );
                SearchBar.BarID = ID.ID_VIEW_SEARCH_TYPE;
                SearchBar.Visible = false;
            }

            axCommandBars.KeyBindings.Add( ID.FCONTROL, 'O', ID.ID_FILE_OPEN );
            axCommandBars.KeyBindings.Add( ID.FCONTROL, 'C', ID.ID_FILE_CLOSE );

            axCommandBars.StatusBar.AddPane( 0 );
            axCommandBars.StatusBar.AddPane( ID.INDICATOR_CAPS );
            axCommandBars.StatusBar.AddPane( ID.INDICATOR_NUM );
            axCommandBars.StatusBar.AddPane( ID.INDICATOR_SCRL );
            axCommandBars.StatusBar.IdleText = "就绪";
            axCommandBars.StatusBar.Visible = true;

            axCommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2007;
            axCommandBars.SetMDIClient( FindMDIClient().Handle.ToInt32() );
            axCommandBars.EnableCustomization( true );

            m_Workspace = axCommandBars.ShowTabWorkspace( true );
            m_Workspace.EnableGroups();
        }