home *** CD-ROM | disk | FTP | other *** search
- // dlguser.cpp : implementation file
- //
-
- // This is a part of the Objective Grid C++ Library.
- // Copyright (C) 1995,1996 ClassWorks, Stefan Hoenig.
- // All rights reserved.
- //
- // This source code is only intended as a supplement to
- // the Objective Grid Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding
- // the Objective Grid product.
- //
-
- #include "stdafx.h"
- #include "resource.h"
- #include "dlguser.h"
-
- #ifndef _GXCORE_H_
- #include "gxcore.h"
- #endif
-
- #ifdef _DEBUG
- #undef THIS_FILE
- static char BASED_CODE THIS_FILE[] = __FILE__;
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // CUserActionsDialog dialog
-
- #define new DEBUG_NEW
-
-
- CUserActionsDialog::CUserActionsDialog(CGXGridParam* pParam, CWnd* pParent /*=NULL*/)
- : CDialog(CUserActionsDialog::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CUserActionsDialog)
- m_bSizeRow = FALSE;
- m_bMoveRows = FALSE;
- m_bMoveCols = FALSE;
- m_bSelRows = FALSE;
- m_bSelCols = FALSE;
- m_bSelCells = FALSE;
- m_bSelTable = FALSE;
- m_bSelMultiple = FALSE;
- m_bSelShift = FALSE;
- m_bSelKeyboard = FALSE;
- m_bSizeCol = FALSE;
- m_bIndHeight = FALSE;
- m_bIndWidth = FALSE;
- m_bLBoxSingle = FALSE;
- m_bLBoxMulti = FALSE;
- m_bEnhWidth = FALSE;
- m_bEnhHeight = FALSE;
- //}}AFX_DATA_INIT
-
- m_pParam = pParam;
-
- m_bSizeRow = GetParam()->IsEnableTrackRowHeight(GX_TRACK_ALL);
- m_bSizeCol = GetParam()->IsEnableTrackColWidth(GX_TRACK_ALL);
- m_bIndHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_INDIVIDUAL);
- m_bIndWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_INDIVIDUAL);
- m_bEnhHeight = GetParam()->IsEnableTrackRowHeight(GX_TRACK_EXTHITTEST);
- m_bEnhWidth = GetParam()->IsEnableTrackColWidth(GX_TRACK_EXTHITTEST);
- m_bMoveRows = GetParam()->IsEnableMoveRows();
- m_bMoveCols = GetParam()->IsEnableMoveCols();
- m_bSelRows = GetParam()->IsEnableSelection(GX_SELROW);
- m_bSelCols = GetParam()->IsEnableSelection(GX_SELCOL);
- m_bSelTable = GetParam()->IsEnableSelection(GX_SELTABLE);
- m_bSelCells = GetParam()->IsEnableSelection(GX_SELCELL);
- m_bSelMultiple = GetParam()->IsEnableSelection(GX_SELMULTIPLE);
- m_bSelShift = GetParam()->IsEnableSelection(GX_SELSHIFT);
- m_bSelKeyboard = GetParam()->IsEnableSelection(GX_SELKEYBOARD);
- m_bLBoxSingle = GetParam()->IsSpecialMode(GX_MODELBOX_SS);
- m_bLBoxMulti = GetParam()->IsSpecialMode(GX_MODELBOX_MS);
- }
-
- void CUserActionsDialog::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CUserActionsDialog)
- DDX_Check(pDX, IDC_SIZE_ROW, m_bSizeRow);
- DDX_Check(pDX, IDC_MOVE_ROWS, m_bMoveRows);
- DDX_Check(pDX, IDC_MOVE_COLS, m_bMoveCols);
- DDX_Check(pDX, IDC_SEL_ROWS, m_bSelRows);
- DDX_Check(pDX, IDC_SEL_COLS, m_bSelCols);
- DDX_Check(pDX, IDC_SEL_CELLS, m_bSelCells);
- DDX_Check(pDX, IDC_SEL_TABLE, m_bSelTable);
- DDX_Check(pDX, IDC_SEL_MULTIPLE, m_bSelMultiple);
- DDX_Check(pDX, IDC_SEL_SHIFT, m_bSelShift);
- DDX_Check(pDX, IDC_SEL_KEYBOARD, m_bSelKeyboard);
- DDX_Check(pDX, IDC_SIZE_COL, m_bSizeCol);
- DDX_Check(pDX, IDC_SIZE_INDHEIGHT, m_bIndHeight);
- DDX_Check(pDX, IDC_SIZE_INDWIDTH, m_bIndWidth);
- DDX_Check(pDX, IDC_SPECIAL_LISTBOX, m_bLBoxSingle);
- DDX_Check(pDX, IDC_SPECIAL_LISTBOX2, m_bLBoxMulti);
- DDX_Check(pDX, IDC_SIZE_ENHWIDTH, m_bEnhWidth);
- DDX_Check(pDX, IDC_SIZE_ENHHEIGHT, m_bEnhHeight);
- //}}AFX_DATA_MAP
- }
-
- BEGIN_MESSAGE_MAP(CUserActionsDialog, CDialog)
- //{{AFX_MSG_MAP(CUserActionsDialog)
- // NOTE: the ClassWizard will add message map macros here
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
-
- /////////////////////////////////////////////////////////////////////////////
- // CUserActionsDialog message handlers
-
- void CUserActionsDialog::OnOK()
- {
- UpdateData(TRUE);
-
- WORD wFlags = (WORD) ((m_bSizeRow?GX_TRACK_ALL:0)
- | (m_bIndHeight?GX_TRACK_INDIVIDUAL:0)
- | (m_bEnhHeight?GX_TRACK_EXTHITTEST:0));
- GetParam()->EnableTrackRowHeight(wFlags);
- wFlags = (WORD) ((m_bSizeCol?GX_TRACK_ALL:0)
- | (m_bIndWidth?GX_TRACK_INDIVIDUAL:0)
- | (m_bEnhWidth?GX_TRACK_EXTHITTEST:0));
- GetParam()->EnableTrackColWidth(wFlags);
- GetParam()->EnableMoveRows(m_bMoveRows);
- GetParam()->EnableMoveCols(m_bMoveCols);
- wFlags = 0;
- if (m_bSelRows) wFlags |= GX_SELROW;
- if (m_bSelCols) wFlags |= GX_SELCOL;
- if (m_bSelTable) wFlags |= GX_SELTABLE;
- if (m_bSelCells) wFlags |= GX_SELCELL;
- if (m_bSelMultiple) wFlags |= GX_SELMULTIPLE;
- if (m_bSelShift) wFlags |= GX_SELSHIFT;
- if (m_bSelKeyboard) wFlags |= GX_SELKEYBOARD;
- GetParam()->EnableSelection(wFlags);
- wFlags = 0;
- if (m_bLBoxSingle)
- wFlags |= GX_MODELBOX_SS;
- if (m_bLBoxMulti)
- wFlags |= GX_MODELBOX_MS;
- GetParam()->SetSpecialMode(wFlags);
-
- if (wFlags > 0)
- // Hide current cell, when listbox mode
- GetParam()->SetHideCurrentCell( GX_HIDE_ALWAYS);
- else
- // Otherwise, hide only when view is inactive
- GetParam()->SetHideCurrentCell( GX_HIDE_INACTIVEFRAME);
-
- CDialog::OnOK();
- }
-
-
-