PhotoCDDlg Class Reference

#include <bmpprefs.h>

Inheritance diagram for PhotoCDDlg:

DialogOp Operation MessageHandler ListItem CCObject SimpleCCObject List of all members.

Public Types

enum  { IDD = _R(IDD_PHOTOCDOPTS) }

Public Member Functions

 PhotoCDDlg ()
 PhotoCDDlg constructor. Creates a non-undoable operation.
void DoWithParam (OpDescriptor *, OpParam *Param)
 Creates then opens the dialog in response to a request from the user and allows values to be passed in and returned to the caller via the PhotoCDDlgParam class.
void Do (OpDescriptor *)
 Creates then opens the dialog in response to a request from the user.
BOOL Create ()
 PhotoCDDlg create method.
virtual MsgResult Message (Msg *Message)
 Handles all the photocd import options dialog's messages.

Static Public Member Functions

static BOOL Init ()
 PhotoCDDlg Init method.
static OpState GetState (String_256 *, OpDescriptor *)
 PhotoCDDlg GetState method.
static BOOL InvokeDialog (UINT32 *ImageNumber)

Static Public Attributes

static const CDlgMode Mode

Protected Member Functions

BOOL CommitDialogValues (PhotoCDDlg *pPhotoCD)
 Takes the values in the dialog box and sets the return values accordingly Called when ok is pressed on the dialog box.

Static Protected Attributes

static PhotoCDDlgParampParams

Private Member Functions

BOOL InitDialog (PhotoCDDlg *pPhotoCD)
 Sets initial dialog values.

Detailed Description

Definition at line 765 of file bmpprefs.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
IDD 

Definition at line 784 of file bmpprefs.h.

00784 { IDD = _R(IDD_PHOTOCDOPTS) };                  // id


Constructor & Destructor Documentation

PhotoCDDlg::PhotoCDDlg  ) 
 

PhotoCDDlg constructor. Creates a non-undoable operation.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Definition at line 4127 of file bmpprefs.cpp.

04127                       : DialogOp(PhotoCDDlg::IDD, PhotoCDDlg::Mode) 
04128 {
04129     // At present, do nothing.
04130 }


Member Function Documentation

BOOL PhotoCDDlg::CommitDialogValues PhotoCDDlg pPhotoCDPrefs  )  [protected]
 

Takes the values in the dialog box and sets the return values accordingly Called when ok is pressed on the dialog box.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
pointer to the dialogue box [INPUTS]
- [OUTPUTS]
Returns:
True if values in dialog box ok, False otherwise.

Errors: -

See also:
-

Definition at line 4148 of file bmpprefs.cpp.

04149 {
04150     ERROR3IF(pParams == NULL, "PhotoCDDlg::CommitDialogValues called after duff initialisation?!");
04151 
04152     // Ok has been pressed so take the values and set up the static values so that the
04153     // caller can access them
04154 
04155     // Get the image that the user has chosen from the radio buttons
04156     BOOL Valid = 0;     // Flag for validity of value
04157     BOOL State = 0;
04158     UINT32 Page = 0;
04159     State = GetLongGadgetValue(_R(IDC_PHOTOCD_BASE), 0, 1, 0, &Valid);
04160     if (State)
04161         Page = 0;
04162     State = GetLongGadgetValue(_R(IDC_PHOTOCD_BASEDIV4), 0, 1, 0, &Valid);
04163     if (State)
04164         Page = 1;
04165     State = GetLongGadgetValue(_R(IDC_PHOTOCD_BASEDIV16), 0, 1, 0, &Valid);
04166     if (State)
04167         Page = 2;
04168     State = GetLongGadgetValue(_R(IDC_PHOTOCD_BASE4), 0, 1, 0, &Valid);
04169     if (State)
04170         Page = 3;
04171     State = GetLongGadgetValue(_R(IDC_PHOTOCD_BASE16), 0, 1, 0, &Valid);
04172     if (State)
04173         Page = 4;
04174     pParams->ImageNumber = Page;
04175 
04176     return TRUE;
04177 }

BOOL PhotoCDDlg::Create void   )  [virtual]
 

PhotoCDDlg create method.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
TRUE if successful, else FALSE

Errors: -

See also:
-

Reimplemented from DialogOp.

Definition at line 4330 of file bmpprefs.cpp.

04331 {                            
04332     if (DialogOp::Create())
04333     { 
04334         // Set the initial control values 
04335         // Dialog now Modal so set up happens in the message handler
04336         //InitDialog(this);
04337 
04338         return TRUE; 
04339     }
04340     else
04341     {
04342         return FALSE; 
04343     }
04344 }

void PhotoCDDlg::Do OpDescriptor  )  [virtual]
 

Creates then opens the dialog in response to a request from the user.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Reimplemented from Operation.

Definition at line 4361 of file bmpprefs.cpp.

04362 {
04363     ERROR3("PhotoCDDlg::Do called when should be using DoWithParam!");
04364     End();         // End the operation 
04365 }

void PhotoCDDlg::DoWithParam OpDescriptor ,
OpParam Param
[virtual]
 

Creates then opens the dialog in response to a request from the user and allows values to be passed in and returned to the caller via the PhotoCDDlgParam class.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Reimplemented from Operation.

Definition at line 4384 of file bmpprefs.cpp.

04385 {
04386     ERROR3IF(Param == NULL, "PhotoCDDlg::DoWithParam - NULL Param passed in");
04387 
04388     // Use the OpParam that has been passed in to us
04389     PhotoCDDlgParam * BmpDlgParam = (PhotoCDDlgParam *) Param;
04390 
04391     BOOL ok;
04392     
04393     // Force the dialog box to be created, as it is modal it will be opened via a message
04394     ok = Create();
04395 
04396     if ( !ok )
04397     {
04398         // Could not create the dialog box so call inform error 
04399         InformError();
04400         End();         // End the operation 
04401     }
04402 }

OpState PhotoCDDlg::GetState String_256 ,
OpDescriptor
[static]
 

PhotoCDDlg GetState method.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Definition at line 4273 of file bmpprefs.cpp.

04274 {    
04275     OpState OpSt;
04276     return(OpSt);
04277 }

BOOL PhotoCDDlg::Init void   )  [static]
 

PhotoCDDlg Init method.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Reimplemented from SimpleCCObject.

Definition at line 4295 of file bmpprefs.cpp.

04296 {
04297     BOOL InitOK;
04298 
04299     InitOK = RegisterOpDescriptor(
04300                                 0,                  /* Tool ID */
04301                                 _R(IDS_PHOTOCDDLG),
04302                                 CC_RUNTIME_CLASS(PhotoCDDlg),
04303                                 OPTOKEN_PHOTOCDDLG,
04304                                 GetState,
04305                                 0,                  /* help ID */
04306                                 0,                  /* bubble help */
04307                                 0,                  /* resource ID */
04308                                 0                   /* control ID */
04309                                 );
04310 
04311     return (InitOK);
04312 }

BOOL PhotoCDDlg::InitDialog PhotoCDDlg pBmpPrefs  )  [private]
 

Sets initial dialog values.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
23/11/94
Parameters:
pointer to the dialog box [INPUTS]
- [OUTPUTS]
Returns:
TRUE if successful, else FALSE

Errors: -

See also:
-

Definition at line 4420 of file bmpprefs.cpp.

04421 {
04422     ERROR3IF(pParams == NULL, "PhotoCDDlg::InitDialog called after duff initialisation?!");
04423 
04424     // Check how many pages were found and if necessary whether to grey some of the
04425     // buttons
04426     // Bodge the Base16 so that ungreys using same condition as the Base4 as once again
04427     // Accusoft are lying and tell us 4 images instead of 5.
04428     EnableGadget(_R(IDC_PHOTOCD_BASE16),    (pParams->NumberOfPages > 3)); //4));
04429     EnableGadget(_R(IDC_PHOTOCD_BASE4),     (pParams->NumberOfPages > 3));
04430     EnableGadget(_R(IDC_PHOTOCD_BASEDIV16), (pParams->NumberOfPages > 2));
04431     EnableGadget(_R(IDC_PHOTOCD_BASEDIV4),  (pParams->NumberOfPages > 1));
04432     EnableGadget(_R(IDC_PHOTOCD_BASE),      (pParams->NumberOfPages > 0));
04433 
04434     switch (pParams->ImageNumber)
04435     {
04436         case 4:
04437             SetLongGadgetValue(_R(IDC_PHOTOCD_BASE16), TRUE);    
04438             break;
04439         case 3:
04440             SetLongGadgetValue(_R(IDC_PHOTOCD_BASE4), TRUE);    
04441             break;
04442         case 2:
04443             SetLongGadgetValue(_R(IDC_PHOTOCD_BASEDIV16), TRUE);
04444             break;
04445         case 1:
04446             SetLongGadgetValue(_R(IDC_PHOTOCD_BASEDIV4), TRUE); 
04447             break;
04448         case 0:
04449         default:
04450             SetLongGadgetValue(_R(IDC_PHOTOCD_BASE), TRUE);     
04451             break;
04452     }
04453 
04454     return TRUE;
04455 }

BOOL PhotoCDDlg::InvokeDialog UINT32 ImageNumber  )  [static]
 

Definition at line 4088 of file bmpprefs.cpp.

04089 {
04090     // Params is defined to be the PhotoCDDlgParams class to nicely encapsulate
04091     // all the parameters that we need to pass back and forth.
04092     PhotoCDDlgParam Params(*Page);
04093     pParams = &Params;          // Save a reference to the params for use in the dialog code
04094 
04095     Params.ImageNumber = 0;     // Set default page to be zero
04096     Params.PhotoCDOk = FALSE;   // Ensure ok is False by default
04097 
04098     OpDescriptor *OpDesc = OpDescriptor::FindOpDescriptor(CC_RUNTIME_CLASS(PhotoCDDlg));
04099 
04100     ERROR3IF(OpDesc == NULL,"PhotoCDDlg::InvokeDialog is unable to find the PhotoCDDlg OpDescriptor");
04101 
04102     if (OpDesc != NULL)
04103         OpDesc->Invoke((OpParam *)&Params);
04104 
04105     // If ok used then alter the page to the one that the user has chosen
04106     if (Params.PhotoCDOk)
04107         *Page = Params.ImageNumber;
04108 
04109     return Params.PhotoCDOk;
04110 }

MsgResult PhotoCDDlg::Message Msg Message  )  [virtual]
 

Handles all the photocd import options dialog's messages.

Author:
Neville_Humphrys (Xara Group Ltd) <camelotdev@xara.com>
Date:
28/08/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Reimplemented from DialogOp.

Definition at line 4196 of file bmpprefs.cpp.

04197 {
04198     ERROR3IF(pParams == NULL, "PhotoCDDlg::Message - Parameters not been set up");
04199 
04200     if (IS_OUR_DIALOG_MSG(Message))
04201     {
04202         DialogMsg* Msg = (DialogMsg*)Message;
04203 
04204         MsgResult Result;
04205 
04206         // Main handler for dialog type messages
04207         BOOL EndDialog = FALSE;                     // TRUE if we should quit the dialog
04208 
04209         // Should now handle the required messages that we respond to
04210         switch (Msg->DlgMsg)
04211         {
04212             case DIM_CREATE:
04213                 // As it is a modal dialog box we are sent a message to say the dialog box
04214                 // is being created, so we have a chance to set the initial control values.
04215                 InitDialog(this);
04216             break;
04217 
04218             case DIM_COMMIT:
04219                 // (ok) accept all changes that the user has made to the settings
04220                 // brackets make the ok local to this case 
04221                 {
04222                     BOOL ok;
04223                     ok = CommitDialogValues(this);
04224                     if (ok)
04225                     {
04226                         // Values found ok so quit dialogue then go ahead and export
04227                         pParams->PhotoCDOk = TRUE;          // Flag ok used
04228                         EndDialog = TRUE;
04229                     }
04230                 }
04231             break;
04232 
04233             case DIM_CANCEL:
04234                 // Cancel all changes that the user has made to the settings
04235                 pParams->PhotoCDOk = FALSE;             // Flag cancel used
04236                 EndDialog = TRUE;
04237             break;
04238         }
04239 
04240         // Allow the base class access to the message, it will do the
04241         // DLG_EAT_IF_HUNGRY(Msg) for us
04242         // Must do this before the Close and End
04243         Result = DialogOp::Message(Message);
04244 
04245         // End dialog here
04246         if (EndDialog) 
04247         {
04248             Close();                // Hide the dialog box
04249             End();                  // Finish the operation
04250         }
04251 
04252         // The message was for our dialog box so return that we have handled it, if necessary
04253         return Result;
04254     }
04255     return DialogOp::Message(Message); 
04256 }


Member Data Documentation

const CDlgMode PhotoCDDlg::Mode [static]
 

Definition at line 786 of file bmpprefs.h.

PhotoCDDlgParam* PhotoCDDlg::pParams [static, protected]
 

Definition at line 799 of file bmpprefs.h.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 03:59:43 2007 for Camelot by  doxygen 1.4.4