home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vos2-121.zip / v / appgen / vgdlmdlg.cpp < prev    next >
C/C++ Source or Header  |  1998-07-07  |  5KB  |  151 lines

  1. //=======================================================================
  2. //@V@:Note: This file generated by vappgen V 1.00.
  3. //    vgdlmdlg.cpp:    Source for vgdlgModalDialog class
  4. //=======================================================================
  5.  
  6. #include "vgdlmdlg.h"
  7. #include <v/vnotice.h>
  8. #include <v/vfilesel.h>
  9.  
  10. //@V@:BeginIDs
  11.     enum {
  12.     lblMainMsg = 1000,
  13.  
  14.     frmNames,
  15.     lblAppName,            // App name
  16.     txiAppName,
  17.     lblFileName,        // file base name
  18.     txiFileName,
  19.     lblTitle,            // app title
  20.     txiTitle,
  21.  
  22.     frmOther,            // frame for other options
  23.     lblOther,
  24.     blkOther,
  25.     rdbModeless,        // Modeless
  26.     rdbModal,            // Text Canvas
  27.  
  28.     btnSetPath,
  29.  
  30.     blkLast
  31.   };
  32. //@V@:EndIds
  33.  
  34. //@V@:BeginDialogCmd DefaultCmds
  35.     static DialogCmd DefaultCmds[] =
  36.       {
  37.     {C_Label, lblMainMsg, 0,"X",NoList,CA_MainMsg,isSens,NoFrame, 0, 0},
  38.  
  39.     {C_Frame, frmNames, 0, "",NoList,CA_NoBorder,isSens,NoFrame, 0,lblMainMsg},
  40.     {C_Label, lblAppName, 0,"Dialog Class Base Name:",
  41.         NoList, CA_None, isSens,frmNames,0, 0, 0,
  42.         "Specify base part of dialog class name"},
  43.     {C_TextIn, txiAppName, 0,"x",
  44.         NoList, CA_None, isSens,frmNames,lblAppName, 0,0,
  45.         "Specify base part of dialog class name"},
  46.     {C_Label, lblFileName, 0," Dialog File Base Name:",
  47.         NoList, CA_None, isSens,frmNames,0, txiAppName,0,
  48.         "Specify base part of generated file names"},
  49.     {C_TextIn, txiFileName, 0,"x",
  50.         NoList, CA_None, isSens,frmNames,lblFileName, txiAppName, 0,
  51.         "Specify base part of generated file names"},
  52.     {C_Label, lblTitle, 0,  "          Dialog Title:",
  53.         NoList, CA_None, isSens,frmNames,0, txiFileName,0,
  54.         "Specify title for dialog box"},
  55.     {C_TextIn, txiTitle, 0,"x",
  56.         NoList, CA_None, isSens,frmNames,lblTitle, txiFileName,0,
  57.         "Specify title for dialog box"},
  58.  
  59.  
  60.     {C_Frame, frmOther, 0, "",NoList,CA_NoBorder,isSens,NoFrame, 0,frmNames},
  61.     {C_Label, lblOther, 0, "Dialog type",
  62.         NoList, CA_None, isSens,frmOther,0, 0},
  63.     {C_Blank, blkOther, 0, " ",
  64.         NoList, CA_None, isSens,frmOther,0, lblOther},
  65.     {C_RadioButton, rdbModeless, 1, "Modeless ",
  66.         NoList, CA_None, isSens,frmOther,blkOther,lblOther,0,
  67.         "Generate a modeless dialog"},
  68.     {C_RadioButton, rdbModal, 0, "Modal ",
  69.         NoList, CA_None, isSens,frmOther,rdbModeless, lblOther,0,
  70.         "Generate a Modal dialog"},
  71.  
  72.     {C_Button, btnSetPath, 0, " Set Save Path ",NoList,CA_None,
  73.         isSens,NoFrame,0, frmOther,0,
  74.         "Specify path to save generated code"},
  75.     {C_Blank, blkLast, 0, "           ",
  76.         NoList,CA_None, isSens,NoFrame,btnSetPath, frmOther},
  77.     {C_Button, M_Cancel, 0, " Cancel ",NoList,CA_None,
  78.         isSens,NoFrame,blkLast, frmOther},
  79.     {C_Button, M_OK, 0, " Generate ", NoList, CA_DefaultButton, 
  80.         isSens, NoFrame, M_Cancel, frmOther,0,
  81.         "Generate code for dialog"},
  82.  
  83.     {C_EndOfList,0,0,0,0,CA_None,0,0,0}
  84.     };
  85. //@V@:EndDialogCmd
  86.  
  87.   extern void SetCmdObjTitle(CommandObject* cList, ItemVal id, char* newtitle);
  88.  
  89. //======================>>> vgdlgModalDialog::vgdlgModalDialog <<<==================
  90.   vgdlgModalDialog::vgdlgModalDialog(vBaseWindow* bw, char* title) :
  91.     vModalDialog(bw,title)
  92.   {
  93.     UserDebug(Constructor,"vgdlgModalDialog::vgdlgModalDialog()\n")
  94.   }
  95.  
  96. //===================>>> vgdlgModalDialog::~vgdlgModalDialog <<<====================
  97.   vgdlgModalDialog::~vgdlgModalDialog()
  98.   {
  99.     UserDebug(Destructor,"vgdlgModalDialog::~vgdlgModalDialog() destructor\n")
  100.   }
  101.  
  102. //====================>>> vgdlgModalDialog::vgdlgAction <<<====================
  103.   int vgdlgModalDialog::vgdlgAction(char* msg, vgOptions& op)
  104.   {
  105.     ItemVal ans,rval;
  106.  
  107.     SetCmdObjTitle(DefaultCmds,txiAppName,op.appName);
  108.     SetCmdObjTitle(DefaultCmds,txiFileName,op.fileName);
  109.     SetCmdObjTitle(DefaultCmds,txiTitle,op.title);
  110.  
  111.     AddDialogCmds(DefaultCmds);        // add the predefined commands
  112.  
  113.     ans = ShowModalDialog(msg,rval);
  114.     if (ans == M_Cancel)
  115.     return 0;
  116.  
  117.     (void) GetTextIn(txiAppName,op.appName,99);
  118.     (void) GetTextIn(txiFileName,op.fileName,99);
  119.     (void) GetTextIn(txiTitle,op.title,99);
  120.  
  121.     op.addDialog = GetValue(rdbModeless);
  122.     op.addModal = GetValue(rdbModal);
  123.  
  124.     return ans == M_OK;
  125.   }
  126.  
  127. //====================>>> vgdlgModalDialog::DialogCommand <<<====================
  128.   void vgdlgModalDialog::DialogCommand(ItemVal id, ItemVal retval, CmdType ctype)
  129.   {
  130.     UserDebug2(CmdEvents,"vgdlgModalDialog::DialogCommand(id:%d, val:%d)\n",id, retval)
  131.  
  132.     switch (id)        // We will do some things depending on value
  133.       {
  134.     case btnSetPath:        // set path to save in
  135.       {
  136.         char path[100];
  137.         int tmp = 0;
  138.         (void) GetTextIn(txiFileName,path,99);
  139.         strcat(path,"app.cpp");    // use xxapp.cpp as default name
  140.         vFileSelect fsel(this);
  141.  
  142.         int oans = fsel.FileSelectSave("Generate code to directory",
  143.         path,99,NULL,tmp);
  144.         break;
  145.       }
  146.  
  147.       }
  148.  
  149.     vModalDialog::DialogCommand(id,retval,ctype);
  150.   }
  151.