/* Copyright (c) 2002-2012 Croteam Ltd. This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // PaletteDialog.cpp : implementation file // #include "stdafx.h" #ifdef _DEBUG #undef new #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPaletteDialog dialog CPaletteDialog::CPaletteDialog(CWnd* pParent /*=NULL*/) : CDialog(CPaletteDialog::IDD, pParent) { //{{AFX_DATA_INIT(CPaletteDialog) m_ColorName = _T(""); m_ModeString = _T(""); //}}AFX_DATA_INIT m_LastViewUpdated = NULL; } void CPaletteDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); CModelerView *pModelerView = CModelerView::GetActiveView(); if( !pDX->m_bSaveAndValidate) { if( pModelerView != NULL) { if( pModelerView->m_bOnColorMode) { m_ModeString = "Mode: On"; } else { m_ModeString = "Mode: Off"; } m_ColorName = pModelerView->m_ModelObject.GetColorName( pModelerView->m_iChoosedColor); } else { m_ColorName = ""; } } //{{AFX_DATA_MAP(CPaletteDialog) DDX_Control(pDX, IDC_CURRENT_COLOR, m_ChoosedColorButton); DDX_Control(pDX, IDC_PICK_COLOR, m_PickColor); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON9, m_ColorPaletteButton9); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON8, m_ColorPaletteButton8); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON7, m_ColorPaletteButton7); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON6, m_ColorPaletteButton6); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON5, m_ColorPaletteButton5); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON4, m_ColorPaletteButton); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON32, m_ColorPaletteButton32); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON31, m_ColorPaletteButton31); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON30, m_ColorPaletteButton30); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON3, m_ColorPaletteButton3); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON29, m_ColorPaletteButton29); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON28, m_ColorPaletteButton28); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON27, m_ColorPaletteButton27); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON26, m_ColorPaletteButton26); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON25, m_ColorPaletteButton25); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON24, m_ColorPaletteButton24); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON23, m_ColorPaletteButton23); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON22, m_ColorPaletteButton22); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON21, m_ColorPaletteButton21); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON20, m_ColorPaletteButton20); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON2, m_ColorPaletteButton2); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON19, m_ColorPaletteButton19); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON18, m_ColorPaletteButton18); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON17, m_ColorPaletteButton17); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON16, m_ColorPaletteButton16); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON15, m_ColorPaletteButton15); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON14, m_ColorPaletteButton14); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON13, m_ColorPaletteButton13); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON12, m_ColorPaletteButton12); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON11, m_ColorPaletteButton11); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON10, m_ColorPaletteButton10); DDX_Control(pDX, IDC_COLOR_PALETTE_BUTTON1, m_ColorPaletteButton1); DDX_Text(pDX, IDC_EDIT_COLOR_NAME, m_ColorName); DDV_MaxChars(pDX, m_ColorName, 32); DDX_Text(pDX, IDC_MODE, m_ModeString); //}}AFX_DATA_MAP if( pDX->m_bSaveAndValidate) { if( pModelerView != NULL) { pModelerView->m_ModelObject.SetColorName( pModelerView->m_iChoosedColor, CTString(CStringA(m_ColorName))); pModelerView->GetDocument()->SetModifiedFlag(); } } } BEGIN_MESSAGE_MAP(CPaletteDialog, CDialog) //{{AFX_MSG_MAP(CPaletteDialog) ON_EN_CHANGE(IDC_EDIT_COLOR_NAME, OnChangeEditColorName) //}}AFX_MSG_MAP ON_COMMAND_RANGE(IDC_COLOR_PALETTE_BUTTON_BASE, IDC_COLOR_PALETTE_BUTTON_END, OnColorPalleteButton) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPaletteDialog message handlers BOOL CPaletteDialog::OnInitDialog() { CDialog::OnInitDialog(); HICON hIcon = AfxGetApp()->LoadIcon(IDI_PICK); ASSERT( hIcon != NULL); m_PickColor.SetIcon( hIcon); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CPaletteDialog::OnColorPalleteButton(UINT nID) { INDEX m_iChoosedColor = nID - IDC_COLOR_PALETTE_BUTTON_BASE; } BOOL CPaletteDialog::OnIdle(LONG lCount) { CModelerView *pModelerView = CModelerView::GetActiveView(); if( pModelerView != m_LastViewUpdated) { if( (pModelerView == NULL) || (m_LastViewUpdated == NULL) ) { UpdateData( FALSE); Invalidate( FALSE); } else { UpdateData( FALSE); } m_LastViewUpdated = pModelerView; } return TRUE; } void CPaletteDialog::OnChangeEditColorName() { UpdateData(TRUE); }