home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / 1991 / 06 / dflat3 / classdef.c < prev    next >
Text File  |  1991-04-26  |  5KB  |  169 lines

  1. /* ---------------- classdef.c ---------------- */
  2.  
  3. #include <stdio.h>
  4. #include "dflat.h"
  5.  
  6. /*
  7.  * Add class definitions to this table.
  8.  * Add the class symbol to the CLASS list in dflat.h
  9.  */
  10.  
  11. CLASSDEFS classdefs[] = {
  12.     {   /* ---------- NORMAL Window Class ----------- */
  13.         NORMAL,
  14.         -1,
  15.         &cfg.clr.NormalFG, &cfg.clr.NormalBG,
  16.         NULL, NULL,
  17.         &cfg.clr.NormalFG, &cfg.clr.NormalBG,
  18.         NormalProc
  19.     },
  20.     {   /* ---------- APPLICATION Window Class ----------- */
  21.         APPLICATION,
  22.         NORMAL,
  23.         &cfg.clr.ApplicationFG, &cfg.clr.ApplicationBG,
  24.         NULL, NULL,
  25.         &cfg.clr.ApplicationFG, &cfg.clr.ApplicationBG,
  26.         ApplicationProc,
  27.         VISIBLE | SAVESELF | CONTROLBOX
  28.     },
  29.     {   /* ------------ TEXTBOX Window Class -------------- */
  30.         TEXTBOX,
  31.         NORMAL,
  32.         &cfg.clr.TextBoxFG, &cfg.clr.TextBoxBG,
  33.         &cfg.clr.TextBoxSelFG, &cfg.clr.TextBoxSelBG,
  34.         &cfg.clr.TextBoxFrameFG, &cfg.clr.TextBoxFrameBG,
  35.         TextBoxProc
  36.     },
  37.     {   /* ------------- LISTBOX Window class ------------- */
  38.         LISTBOX,
  39.         TEXTBOX,
  40.         &cfg.clr.ListBoxFG, &cfg.clr.ListBoxBG,
  41.         &cfg.clr.ListBoxSelFG, &cfg.clr.ListBoxSelBG,
  42.         &cfg.clr.ListBoxFrameFG, &cfg.clr.ListBoxFrameBG,
  43.         ListBoxProc
  44.     },
  45.     {   /* ------------- EDITBOX Window Class -------------- */
  46.         EDITBOX,
  47.         TEXTBOX,
  48.         &cfg.clr.EditBoxFG, &cfg.clr.EditBoxBG,
  49.         &cfg.clr.EditBoxSelFG, &cfg.clr.EditBoxSelBG,
  50.         &cfg.clr.EditBoxFrameFG, &cfg.clr.EditBoxFrameBG,
  51.         EditBoxProc
  52.     },
  53.     {   /* ------------- MENUBAR Window Class --------------- */
  54.         MENUBAR,
  55.         NORMAL,
  56.         &cfg.clr.MenuBarFG, &cfg.clr.MenuBarBG,
  57.         &cfg.clr.MenuBarSelFG, &cfg.clr.MenuBarSelBG,
  58.         NULL, NULL,
  59.         MenuBarProc,
  60.         VISIBLE | NOCLIP
  61.     },
  62.     {   /* ------------- POPDOWNMENU Window Class ----------- */
  63.         POPDOWNMENU,
  64.         LISTBOX,
  65.         &cfg.clr.PopDownFG, &cfg.clr.PopDownBG,
  66.         &cfg.clr.PopDownSelFG, &cfg.clr.PopDownSelBG,
  67.         NULL, NULL,
  68.         PopDownProc,
  69.         SAVESELF | NOCLIP | HASBORDER
  70.     },
  71.     {   /* ----------- BUTTON Window Class --------------- */
  72.         BUTTON,
  73.         TEXTBOX,
  74.         &cfg.clr.ButtonFG, &cfg.clr.ButtonBG,
  75.         &cfg.clr.ButtonSelFG, &cfg.clr.ButtonSelBG,
  76.         NULL, NULL,
  77.         ButtonProc,
  78.         SHADOW | NOCLIP
  79.     },
  80. #ifdef INCLUDE_DIALOG_BOXES
  81.     {   /* ------------- DIALOG Window Class -------------- */
  82.         DIALOG,
  83.         NORMAL,
  84.         &cfg.clr.DialogFG, &cfg.clr.DialogBG,
  85.         NULL, NULL,
  86.         &cfg.clr.DialogFG, &cfg.clr.DialogBG,
  87.         DialogProc,
  88.         SHADOW | MOVEABLE | SAVESELF | CONTROLBOX | HASBORDER
  89.     },
  90. #endif
  91.     {   /* ------------ ERRORBOX Window Class ----------- */
  92.         ERRORBOX,
  93. #ifdef INCLUDE_DIALOG_BOXES
  94.         DIALOG,
  95. #else
  96.         TEXTBOX,
  97. #endif
  98.         &cfg.clr.ErrorBoxFG, &cfg.clr.ErrorBoxBG,
  99.         NULL, NULL,
  100.         &cfg.clr.ErrorBoxFG, &cfg.clr.ErrorBoxBG,
  101. #ifdef INCLUDE_DIALOG_BOXES
  102.         DialogProc,
  103. #else
  104.         NULL,
  105. #endif
  106.         SHADOW | HASBORDER
  107.     },
  108.     {   /* --------- MESSAGEBOX Window Class ------------- */
  109.         MESSAGEBOX,
  110. #ifdef INCLUDE_DIALOG_BOXES
  111.         DIALOG,
  112. #else
  113.         TEXTBOX,
  114. #endif
  115.         &cfg.clr.MessageBoxFG, &cfg.clr.MessageBoxBG,
  116.         NULL, NULL,
  117.         &cfg.clr.MessageBoxFG, &cfg.clr.MessageBoxBG,
  118. #ifdef INCLUDE_DIALOG_BOXES
  119.         DialogProc,
  120. #else
  121.         NULL,
  122. #endif
  123.         SHADOW | HASBORDER
  124.     },
  125.     {   /* ----------- HELPBOX Window Class --------------- */
  126.         HELPBOX,
  127. #ifdef INCLUDE_DIALOG_BOXES
  128.         DIALOG,
  129. #else
  130.         TEXTBOX,
  131. #endif
  132.         &cfg.clr.HelpBoxFG, &cfg.clr.HelpBoxBG,
  133.         NULL, NULL,
  134.         &cfg.clr.HelpBoxFG, &cfg.clr.HelpBoxBG,
  135. #ifdef INCLUDE_DIALOG_BOXES
  136.         DialogProc,
  137. #else
  138.         NULL,
  139. #endif
  140.         SHADOW | HASBORDER
  141.     }
  142. #ifdef INCLUDE_SYSTEM_MENUS
  143.     ,
  144.     {   /* -------------- DUMMY Window Class ---------------- */
  145.         DUMMY,
  146.         -1,
  147.         &cfg.clr.DummyFG, &cfg.clr.DummyBG,
  148.         NULL, NULL,
  149.         &cfg.clr.DummyFG, &cfg.clr.DummyBG,
  150.         NULL,
  151.         HASBORDER
  152.     }
  153. #endif
  154. };
  155.  
  156. /* ------- return the offset of a class into the class
  157.                  definition table ------ */
  158. int FindClass(CLASS class)
  159. {
  160.     int i;
  161.     for (i = 0; i < sizeof(classdefs) / sizeof(CLASSDEFS); i++)
  162.         if (class == classdefs[i].class)
  163.             return i;
  164.     return 0;
  165. }
  166.  
  167.  
  168.  
  169.