home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0040 - 0049 / ibm0040-0049 / ibm0040.tar / ibm0040 / ZINC_6.ZIP / DOSSRC.ZIP / D_TITLE.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1991-06-01  |  2.8 KB  |  91 lines

  1. //    Zinc Interface Library - D_TITLE.CPP
  2. //    COPYRIGHT (C) 1990, 1991.  All Rights Reserved.
  3. //    Zinc Software Incorporated.  Pleasant Grove, Utah  USA
  4.  
  5. #include "ui_dsn.hpp"
  6. #include "d_help.hlh"
  7.  
  8. const int TITLE_FIELD        = 0x0001;
  9. const int STRINGID_FIELD    = 0x0002;
  10. const int OBJFLAGS_FIELD    = 0x0003;
  11.  
  12. int UIW_TITLE::Editor(const UI_EVENT &event)
  13. {
  14.     char *windowName = "Title";
  15.  
  16.     int ccode = event.type;
  17.     switch (ccode)
  18.     {
  19.     case S_EDIT_OBJECT:
  20.         {
  21.         UI_ITEM _objectFlag[] =
  22.         {
  23.             { WOF_JUSTIFY_CENTER,     0,                " Center Justify " },
  24.             { WOF_JUSTIFY_RIGHT,     0,                " Right Justify " },
  25.             { 0,                    0,                0 }
  26.         };
  27.         UIW_BUTTON *save, *cancel, *help;
  28.         UIW_STRING *titleField;
  29.         UIW_MATRIX *objFlagsField;
  30.  
  31.         // Create the title editor window.
  32.         UIW_WINDOW *window = new UIW_WINDOW(_centerColumn - 34, _centerLine - 7,
  33.             67, 13, WOF_NO_FLAGS, WOAF_MODAL | WOAF_NO_SIZE);
  34.         *window
  35.             + new UIW_BORDER
  36.             + &(*new UIW_SYSTEM_BUTTON
  37.                 + new UIW_POP_UP_ITEM("~Move", MNIF_MOVE, BTF_NO_TOGGLE, WOF_NO_FLAGS)
  38.                 + new UIW_POP_UP_ITEM("~Close", MNIF_CLOSE, BTF_NO_TOGGLE, WOF_NO_FLAGS))
  39.             + new UIW_TITLE(windowName)
  40.  
  41.             + new UIW_PROMPT(2, 1, "Title:", WOF_NO_FLAGS)
  42.             + (titleField = new UIW_STRING(9, 1, 20, string, 100, STF_NO_FLAGS, WOF_BORDER | WOF_AUTO_CLEAR, 0))
  43.  
  44.             + new UIW_PROMPT(31, 1, "StringID:", WOF_NO_FLAGS)
  45.             + new UIW_STRING(41, 1, 20, search.stringID, 100, STF_VARIABLE_NAME, WOF_NON_SELECTABLE | WOF_AUTO_CLEAR, 0)
  46.             + new UIW_PROMPT(31, 3, "Flags:", WOF_NO_FLAGS)
  47.             + new UIW_SCROLL_BAR(61, 3, 2, 4, SBF_VERTICAL, WOF_NO_FLAGS)
  48.             + (objFlagsField = new UIW_MATRIX(41, 3, 20, 4, woFlags, _objectFlag))
  49.  
  50.             + (save = new UIW_BUTTON(13, 9, 10, "~Save",
  51.                 BTF_NO_TOGGLE | BTF_AUTO_SIZE,
  52.                 WOF_BORDER | WOF_JUSTIFY_CENTER, UI_DESIGN_MANAGER::Save))
  53.             + (cancel = new UIW_BUTTON(28, 9, 10, "~Cancel",
  54.                 BTF_NO_TOGGLE | BTF_AUTO_SIZE,
  55.                 WOF_BORDER | WOF_JUSTIFY_CENTER, UI_DESIGN_MANAGER::Cancel))
  56.             + (help = new UIW_BUTTON(43, 9, 10, "~Help",
  57.                 BTF_NO_TOGGLE | BTF_AUTO_SIZE,
  58.                 WOF_BORDER | WOF_JUSTIFY_CENTER, UI_DESIGN_MANAGER::Help));
  59.  
  60.         // Identify key fields.
  61.         window->StringID(windowName);
  62.         titleField->NumberID(TITLE_FIELD);
  63.         objFlagsField->NumberID(OBJFLAGS_FIELD);
  64.         save->userObject = cancel->userObject = help->userObject = this;
  65.         help->value = HELP_TITLE;
  66.  
  67.         *windowManager + window;
  68.         break;
  69.         }
  70.  
  71.     case S_SAVE_OBJECT:
  72.         {
  73.         UIW_WINDOW *window = (UIW_WINDOW *)windowManager->Get(windowName);
  74.  
  75.         SaveFlags((UIW_MATRIX *)window->Get(OBJFLAGS_FIELD), &woFlags);
  76.         woFlags |= WOF_BORDER | WOF_NON_FIELD_REGION;
  77.  
  78.         UIW_STRING *titleField = (UIW_STRING *)window->Get(TITLE_FIELD);
  79.         UIW_TITLE::DataSet((char *)titleField->DataGet());
  80.         break;
  81.         }
  82.  
  83.     default:
  84.         ccode = UI_WINDOW_OBJECT::Editor(event);
  85.         break;
  86.     }
  87.  
  88.     // Return the control code.
  89.     return (ccode);
  90. }
  91.