예제 #1
0
        public void SlowMethod(ProgressControls progress)
        {
            System.Threading.Thread.Sleep(1000);


            progress();
        }
예제 #2
0
        void BuildComponents()
        {
            SuspendLayout();
            try
            {
                ControlPacker.AddControl(
                    this, ControlBuilder.CreateVerticalPadding(DockStyle.Top));
                ControlPacker.AddControl(this, BuildTextInputPanel());
                ControlPacker.AddControl(
                    this, ControlBuilder.CreateVerticalPadding(DockStyle.Top));
                ControlPacker.AddControl(this, BuildButtonsPanel());
                ControlPacker.AddControl(
                    this, ControlBuilder.CreateVerticalPadding(DockStyle.Top));
                ControlPacker.AddControl(this, BuildListBoxPanel());
                ControlPacker.AddControl(
                    this, ControlBuilder.CreateVerticalPadding(DockStyle.Bottom));
                ControlPacker.AddControl(this, BuildProgressTextPanel());

                mProgressControls = new ProgressControls(
                    mProgressLabel,
                    new Control[] { mTextBox, mRemoveButton, mAddButton, mListBox });
            }
            finally
            {
                ResumeLayout();
            }

            mAddButton.Click    += AddButton_Click;
            mRemoveButton.Click += RemoveButton_Click;
        }
예제 #3
0
        NSView BuildComponents()
        {
            NSView result = new NSView();

            NSTextField label = NSBuilder.CreateTextField(
                Localization.GetText(Localization.Name.TextInputLabel),
                NSTextAlignment.Right);

            mTextField = NSBuilder.CreateInputTextField();

            mAddButton = NSBuilder.CreateRoundButton(
                Localization.GetText(Localization.Name.AddButton));
            mRemoveButton = NSBuilder.CreateRoundButton(
                Localization.GetText(Localization.Name.RemoveButton));

            NSScrollView scrollView = NSBuilder.CreateScrollView(false);

            mTableView = NSBuilder.CreateTableView();
            mTableView.AddColumn(NSBuilder.CreateColumn(
                                     "Text", // TODO move constant elsewhere
                                     250));  // TODO move constant elsewhere

            scrollView.DocumentView = mTableView;

            mProgressTextField        = NSBuilder.CreateTextField();
            mProgressTextField.Hidden = true;

            NSViewPacker.PackViews(
                result,
                new string[]
            {
                "H:|-[label(40)]-[textInput]-|",
                "H:[removeButton(80)]-[addButton(80)]-|",
                "H:|-[list]-|",
                "H:|-[progressText]-|",
                "V:|-[label]-[removeButton]-[list(200)]-[progressText]-|",
                "V:|-[textInput]-[removeButton]-[list(200)]-[progressText]-|",
                "V:|-[label]-[addButton]-[list(200)]-[progressText]-|"
            },
                new NSDictionary(
                    "label", label,
                    "textInput", mTextField,
                    "removeButton", mRemoveButton,
                    "addButton", mAddButton,
                    "list", scrollView,
                    "progressText", mProgressTextField)
                );

            mProgressControls = new ProgressControls(
                this,
                mProgressTextField,
                new NSView[] { mTextField, mAddButton, mRemoveButton, mTableView });

            mAddButton.Activated    += AddButton_Activated;
            mRemoveButton.Activated += RemoveButton_Activated;

            return(result);
        }
예제 #4
0
        private void btn_start_Click(object sender, EventArgs e)
        {
            if (rb_spinBox.Checked == true)
            {
                progresscontrols = new ProgressControls(UpdateSpin);
            }
            else if (rb_ProgressBar.Checked == true)
            {
                progresscontrols = new ProgressControls(UpdateProgressBar);
            }
            else
                progresscontrols = new ProgressControls(UpdateTrackBar);

            for (int i = 0; i < 10; i++ )
            {
                SlowMethod(progresscontrols);

                Application.DoEvents();
            }
        }
예제 #5
0
        private void btn_start_Click(object sender, EventArgs e)
        {
            if (rb_spinBox.Checked == true)
            {
                progresscontrols = new ProgressControls(UpdateSpin);
            }
            else if (rb_ProgressBar.Checked == true)
            {
                progresscontrols = new ProgressControls(UpdateProgressBar);
            }
            else
            {
                progresscontrols = new ProgressControls(UpdateTrackBar);
            }

            for (int i = 0; i < 10; i++)
            {
                SlowMethod(progresscontrols);

                Application.DoEvents();
            }
        }
예제 #6
0
        void BuildComponents()
        {
            VBox result = new VBox();

            ControlPacker.Add(result, BuildTextEntryBox());
            ControlPacker.Add(result, BuildButtonsBox());
            ControlPacker.Fill(result, BuildListViewBox());
            ControlPacker.Add(result, BuildProgressTextBox());

            mProgressControls = new ProgressControls(
                mProgressLabel,
                new Widget[] { mTextEntry, mAddButton, mRemoveButton, mListView.View });

            mAddButton.Clicked    += AddButton_Clicked;
            mRemoveButton.Clicked += RemoveButton_Clicked;

            mListView.Fill(new List <string>()
            {
                string.Empty
            });

            Add(AlignmentBuilder.LeftRightPadding(
                    result, AlignmentBuilder.SMALL_PADDING));
        }
예제 #7
0
        public void SlowMethod(ProgressControls progress)
        {
            System.Threading.Thread.Sleep(1000);

            progress();
        }