home *** CD-ROM | disk | FTP | other *** search
/ C/C++ User's Journal & Wi…eveloper's Journal Tools / C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso / stingray / dlguser.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-27  |  4.9 KB  |  153 lines

  1. // dlguser.cpp : implementation file
  2. //
  3.  
  4. // This is a part of the Objective Grid C++ Library.
  5. // Copyright (C) 1995,1996 ClassWorks, Stefan Hoenig.
  6. // All rights reserved.
  7. //
  8. // This source code is only intended as a supplement to
  9. // the Objective Grid Classes Reference and related
  10. // electronic documentation provided with the library.
  11. // See these sources for detailed information regarding
  12. // the Objective Grid product.
  13. //
  14.  
  15. #include "stdafx.h"
  16. #include "resource.h"
  17. #include "dlguser.h"
  18.  
  19. #ifndef _GXCORE_H_
  20. #include "gxcore.h"
  21. #endif
  22.  
  23. #ifdef _DEBUG
  24. #undef THIS_FILE
  25. static char BASED_CODE THIS_FILE[] = __FILE__;
  26. #endif
  27.  
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CUserActionsDialog dialog
  30.  
  31. #define new DEBUG_NEW
  32.  
  33.  
  34. CUserActionsDialog::CUserActionsDialog(CGXGridParam* pParam, CWnd* pParent /*=NULL*/)
  35.     : CDialog(CUserActionsDialog::IDD, pParent)
  36. {
  37.     //{{AFX_DATA_INIT(CUserActionsDialog)
  38.     m_bSizeRow = FALSE;
  39.     m_bMoveRows = FALSE;
  40.     m_bMoveCols = FALSE;
  41.     m_bSelRows = FALSE;
  42.     m_bSelCols = FALSE;
  43.     m_bSelCells = FALSE;
  44.     m_bSelTable = FALSE;
  45.     m_bSelMultiple = FALSE;
  46.     m_bSelShift = FALSE;
  47.     m_bSelKeyboard = FALSE;
  48.     m_bSizeCol = FALSE;
  49.     m_bIndHeight = FALSE;
  50.     m_bIndWidth = FALSE;
  51.     m_bLBoxSingle = FALSE;
  52.     m_bLBoxMulti = FALSE;
  53.     m_bEnhWidth = FALSE;
  54.     m_bEnhHeight = FALSE;
  55.     //}}AFX_DATA_INIT
  56.  
  57.     m_pParam = pParam;
  58.  
  59.     m_bSizeRow = GetParam()->IsEnableTrackRowHeight(GX_TRACK_ALL);
  60.     m_bSizeCol = GetParam()->IsEnableTrackColWidth(GX_TRACK_ALL);
  61.     m_bIndHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_INDIVIDUAL);
  62.     m_bIndWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_INDIVIDUAL);
  63.     m_bEnhHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_EXTHITTEST);
  64.     m_bEnhWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_EXTHITTEST);
  65.     m_bMoveRows = GetParam()->IsEnableMoveRows();
  66.     m_bMoveCols = GetParam()->IsEnableMoveCols();
  67.     m_bSelRows = GetParam()->IsEnableSelection(GX_SELROW);
  68.     m_bSelCols = GetParam()->IsEnableSelection(GX_SELCOL);
  69.     m_bSelTable = GetParam()->IsEnableSelection(GX_SELTABLE);
  70.     m_bSelCells = GetParam()->IsEnableSelection(GX_SELCELL);
  71.     m_bSelMultiple = GetParam()->IsEnableSelection(GX_SELMULTIPLE);
  72.     m_bSelShift = GetParam()->IsEnableSelection(GX_SELSHIFT);
  73.     m_bSelKeyboard = GetParam()->IsEnableSelection(GX_SELKEYBOARD);
  74.     m_bLBoxSingle = GetParam()->IsSpecialMode(GX_MODELBOX_SS);
  75.     m_bLBoxMulti = GetParam()->IsSpecialMode(GX_MODELBOX_MS);
  76. }
  77.  
  78. void CUserActionsDialog::DoDataExchange(CDataExchange* pDX)
  79. {
  80.     CDialog::DoDataExchange(pDX);
  81.     //{{AFX_DATA_MAP(CUserActionsDialog)
  82.     DDX_Check(pDX, IDC_SIZE_ROW, m_bSizeRow);
  83.     DDX_Check(pDX, IDC_MOVE_ROWS, m_bMoveRows);
  84.     DDX_Check(pDX, IDC_MOVE_COLS, m_bMoveCols);
  85.     DDX_Check(pDX, IDC_SEL_ROWS, m_bSelRows);
  86.     DDX_Check(pDX, IDC_SEL_COLS, m_bSelCols);
  87.     DDX_Check(pDX, IDC_SEL_CELLS, m_bSelCells);
  88.     DDX_Check(pDX, IDC_SEL_TABLE, m_bSelTable);
  89.     DDX_Check(pDX, IDC_SEL_MULTIPLE, m_bSelMultiple);
  90.     DDX_Check(pDX, IDC_SEL_SHIFT, m_bSelShift);
  91.     DDX_Check(pDX, IDC_SEL_KEYBOARD, m_bSelKeyboard);
  92.     DDX_Check(pDX, IDC_SIZE_COL, m_bSizeCol);
  93.     DDX_Check(pDX, IDC_SIZE_INDHEIGHT, m_bIndHeight);
  94.     DDX_Check(pDX, IDC_SIZE_INDWIDTH, m_bIndWidth);
  95.     DDX_Check(pDX, IDC_SPECIAL_LISTBOX, m_bLBoxSingle);
  96.     DDX_Check(pDX, IDC_SPECIAL_LISTBOX2, m_bLBoxMulti);
  97.     DDX_Check(pDX, IDC_SIZE_ENHWIDTH, m_bEnhWidth);
  98.     DDX_Check(pDX, IDC_SIZE_ENHHEIGHT, m_bEnhHeight);
  99.     //}}AFX_DATA_MAP
  100. }
  101.  
  102. BEGIN_MESSAGE_MAP(CUserActionsDialog, CDialog)
  103.     //{{AFX_MSG_MAP(CUserActionsDialog)
  104.         // NOTE: the ClassWizard will add message map macros here
  105.     //}}AFX_MSG_MAP
  106. END_MESSAGE_MAP()
  107.  
  108.  
  109. /////////////////////////////////////////////////////////////////////////////
  110. // CUserActionsDialog message handlers
  111.  
  112. void CUserActionsDialog::OnOK()
  113. {
  114.     UpdateData(TRUE);
  115.  
  116.     WORD wFlags = (WORD) ((m_bSizeRow?GX_TRACK_ALL:0)
  117.         | (m_bIndHeight?GX_TRACK_INDIVIDUAL:0)
  118.         | (m_bEnhHeight?GX_TRACK_EXTHITTEST:0));
  119.     GetParam()->EnableTrackRowHeight(wFlags);
  120.     wFlags = (WORD) ((m_bSizeCol?GX_TRACK_ALL:0)
  121.         | (m_bIndWidth?GX_TRACK_INDIVIDUAL:0)
  122.         | (m_bEnhWidth?GX_TRACK_EXTHITTEST:0));
  123.     GetParam()->EnableTrackColWidth(wFlags);
  124.     GetParam()->EnableMoveRows(m_bMoveRows);
  125.     GetParam()->EnableMoveCols(m_bMoveCols);
  126.     wFlags = 0;
  127.     if (m_bSelRows) wFlags |= GX_SELROW;
  128.     if (m_bSelCols) wFlags |= GX_SELCOL;
  129.     if (m_bSelTable) wFlags |= GX_SELTABLE;
  130.     if (m_bSelCells) wFlags |= GX_SELCELL;
  131.     if (m_bSelMultiple) wFlags |= GX_SELMULTIPLE;
  132.     if (m_bSelShift) wFlags |= GX_SELSHIFT;
  133.     if (m_bSelKeyboard) wFlags |= GX_SELKEYBOARD;
  134.     GetParam()->EnableSelection(wFlags);
  135.     wFlags = 0;
  136.     if (m_bLBoxSingle)
  137.         wFlags |= GX_MODELBOX_SS;
  138.     if (m_bLBoxMulti)
  139.         wFlags |= GX_MODELBOX_MS;
  140.     GetParam()->SetSpecialMode(wFlags);
  141.  
  142.     if (wFlags > 0)
  143.         // Hide current cell, when listbox mode
  144.         GetParam()->SetHideCurrentCell( GX_HIDE_ALWAYS);
  145.     else
  146.         // Otherwise, hide only when view is inactive
  147.         GetParam()->SetHideCurrentCell( GX_HIDE_INACTIVEFRAME);
  148.  
  149.     CDialog::OnOK();
  150. }
  151.  
  152.  
  153.