From de4e0fc293b8f5a9d009cf40018bba88d9416b41 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sat, 25 Mar 2006 14:29:46 +0000 Subject: Finished all TWizard demos. --- .gitattributes | 4 + .../pages/Controls/Samples/TWizard/Sample3.page | 61 ++++++++++++++++ .../pages/Controls/Samples/TWizard/Sample3.php | 25 +++++++ .../pages/Controls/Samples/TWizard/Sample4.page | 85 ++++++++++++++++++++++ .../pages/Controls/Samples/TWizard/Sample4.php | 11 +++ .../protected/pages/Controls/Wizard.page | 7 +- framework/Exceptions/messages.txt | 10 ++- framework/Web/UI/WebControls/TWizard.php | 6 +- 8 files changed, 204 insertions(+), 5 deletions(-) create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.page create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.php create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.page create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.php diff --git a/.gitattributes b/.gitattributes index def0017f..27aea6ff 100644 --- a/.gitattributes +++ b/.gitattributes @@ -229,6 +229,10 @@ demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample1.page -text demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample1.php -text demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample2.page -text demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample2.php -text +demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.page -text +demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.php -text +demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.page -text +demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.php -text demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample5.page -text demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample5.php -text demos/quickstart/protected/pages/Controls/Samples/config.xml -text diff --git a/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.page b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.page new file mode 100644 index 00000000..bb0a251c --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.page @@ -0,0 +1,61 @@ + + +

Nonlinear Wizard Navigation Sample

+ +

+In the following survey, if you are a college student, you will be asked which major you are in. Otherwise, the question is skipped to your favorite sport. This demo also shows unidrectional navigation. +

+ + + + + <%= $this->Parent->Title %> +

+ +

+
+ + + <%= $this->Parent->Title %> +

+ My major is + + + + + + +

+
+ + + <%= $this->Parent->Title %> +

+ My favorite Sport is + + + + + +

+
+ + +

Thank you for taking this survey!

+

+ +

+
+ +
+ +
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.php b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.php new file mode 100644 index 00000000..d85d041a --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample3.php @@ -0,0 +1,25 @@ +StudentCheckBox->Checked) + { + $str="You are a college student.
"; + $str.="You are in major: ".$this->DropDownList11->SelectedValue."
"; + $str.="Your favorite sport is: ".$this->DropDownList22->SelectedValue; + } + else + $str="Your favorite sport is: ".$this->DropDownList22->SelectedValue; + $this->Wizard3Result->Text=$str; + } + + public function wizard3NextStep($sender,$param) + { + if($param->CurrentStepIndex===0 && !$this->StudentCheckBox->Checked) + $this->Wizard3->ActiveStepIndex=2; + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.page b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.page new file mode 100644 index 00000000..8687d842 --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.page @@ -0,0 +1,85 @@ + + +

Customized Wizard Template Sample

+ + + + + Header Template +
+ Step <%= $this->Parent->Parent->ActiveStepIndex+1 %> of 3 +
+ + + SideBar Template +
+ + + + + + + + +
+ + + +
+ Start Navigation Template +
+ + + + +
+ Step Navigation Template +
+ + + All navigation buttons are removed. +
+ Step Navigation Template +
+ + + Wizard Step Content +

+ Your favorite color: + + + + + + + + + + + +

+
+ + + Wizard Step Content +

+ +

+
+ + + Wizard Step Content +

+ Thank you for completing this survey.
+

+
+
+ +
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.php b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.php new file mode 100644 index 00000000..6b79698d --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TWizard/Sample4.php @@ -0,0 +1,11 @@ +Result->Text="Your favorite color is: " . $this->DropDownList1->SelectedValue; + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Wizard.page b/demos/quickstart/protected/pages/Controls/Wizard.page index 29718930..7d83c697 100644 --- a/demos/quickstart/protected/pages/Controls/Wizard.page +++ b/demos/quickstart/protected/pages/Controls/Wizard.page @@ -9,6 +9,10 @@

components of wizard +

+By default, TWizard embeds the above components in an HTML table so that the side bar is displayed on the left while the rest on the right. If UseDefaultLayout is set to false, no HTML table will be used, and developers should use pure CSS techniques to position the wizard components. Note, each component is displayed as a <div> and the wizard itself is also a <div> that encloses its components' <div>. +

+

Wizard steps are represented by TWizardStep and are maintained in TWizard through its WizardSteps property. At any time, only one step is visible, which is determined by the ActiveStep property. The ActiveStepIndex property gives the index of the active step in the step collection. Clicking on navigation buttons can activate different wizard steps.

@@ -85,9 +89,6 @@ Given a set of wizard steps, TWizard supports three different ways of n
  • Navigation - StartNavigationTemplate, StepNavigationTemplate, FinishNavigationTemplate.
  • Side bar - SideBarTemplate.
  • -Note about side bar button IDs, navigation button commands -headertext vs. headertemplate -tablelayout vs pure div layout

    Using Templated Wizard Steps

    diff --git a/framework/Exceptions/messages.txt b/framework/Exceptions/messages.txt index 81664b3e..798fb50a 100644 --- a/framework/Exceptions/messages.txt +++ b/framework/Exceptions/messages.txt @@ -159,6 +159,7 @@ templatecontrol_mastercontrol_invalid = Master control must be of type TTemplate templatecontrol_contentid_duplicated = TContent ID '{0}' is duplicated. templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' is duplicated. templatecontrol_directive_invalid = {0}.{1} can only accept a static text string through a template directive. +templatecontrol_placeholder_inexistent = TContent '{0}' does not have a matching TPlaceHolder. page_form_duplicated = A page can contain at most one TForm. Use regular HTML form tags for the rest forms. page_isvalid_unknown = TPage.IsValid has not been evaluated yet. @@ -257,4 +258,11 @@ multiview_viewid_invalid = TMultiView cannot find the view '{0}' to switch to viewcollection_view_required = TViewCollection can only accept TView as its element. -view_visible_readonly = TView.Visible is read-only. Use TView.Active to toggle its visibility. \ No newline at end of file +view_visible_readonly = TView.Visible is read-only. Use TView.Active to toggle its visibility. + +wizard_step_invalid = The step to be activated cannot be found in wizard step collection. +wizard_command_invalid = Invalid wizard navigation command '{0}'. + +completewizardstep_steptype_readonly = TCompleteWizardStep.StepType is read-only. + +wizardstepcollection_wizardstep_required = TWizardStepCollection can only accept objects of TWizardStep or its derived classes. \ No newline at end of file diff --git a/framework/Web/UI/WebControls/TWizard.php b/framework/Web/UI/WebControls/TWizard.php index 3a37b590..0da859f8 100644 --- a/framework/Web/UI/WebControls/TWizard.php +++ b/framework/Web/UI/WebControls/TWizard.php @@ -202,6 +202,7 @@ class TWizard extends TWebControl implements INamingContainer /** * @param TWizardStep step to be activated + * @throws TInvalidOperationException if the step is not in the wizard step collection */ public function setActiveStep($step) { @@ -1275,6 +1276,7 @@ class TWizard extends TWebControl implements INamingContainer * wizard-specific events. * @param mixed sender of the original command event * @param TEventParameter event parameter + * @throws TInvalidDataValueException if a navigation command is associated with an invalid parameter */ public function onBubbleEvent($sender,$param) { @@ -1751,6 +1753,7 @@ class TWizardStepCollection extends TList * the item being added is a {@link TWizardStep}. * @param integer the speicified position. * @param mixed new item + * @throws TInvalidDataTypeException if the item being added is not TWizardStep. */ public function insertAt($index,$item) { @@ -1760,7 +1763,7 @@ class TWizardStepCollection extends TList $this->_wizard->addedWizardStep($item); } else - throw new TInvalidDataTypeException('wizardstepcollection_wizardstepbase_required'); + throw new TInvalidDataTypeException('wizardstepcollection_wizardstep_required'); } /** @@ -2032,6 +2035,7 @@ class TWizardNavigationTemplate extends TComponent implements ITemplate * @param TWizardNavigationButtonStyle button style * @param boolean whether the button should cause validation * @param string command name for the button's OnCommand event + * @throws TInvalidDataValueException if the button type is not recognized */ protected function createNavigationButton($buttonStyle,$causesValidation,$commandName) { -- cgit v1.2.3