|
From: Emilien K. <cur...@us...> - 2005-04-04 09:18:48
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30960/src Modified Files: BitmapDocView.cpp Controls.cpp StdPlugin.cpp Log Message: Passage de la barre de gestion des couleurs de la vue d'édition de bitmaps en workbar. Index: Controls.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/Controls.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Controls.cpp 23 Feb 2005 09:16:46 -0000 1.7 --- Controls.cpp 4 Apr 2005 09:18:30 -0000 1.8 *************** *** 154,157 **** --- 154,158 ---- wxCommandEvent evt(wxEVT_COMMAND_TEXT_UPDATED, GetId()); evt.SetString(GetLabel()); + evt.SetClientData(&col); GetParent()->ProcessEvent(evt); } Index: BitmapDocView.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/BitmapDocView.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** BitmapDocView.cpp 16 Mar 2005 14:26:35 -0000 1.21 --- BitmapDocView.cpp 4 Apr 2005 09:18:30 -0000 1.22 *************** *** 21,24 **** --- 21,270 ---- ////////////////////////////////////////////////////////////////////// + // Global data and definitions. + ////////////////////////////////////////////////////////////////////// + + + int g_NbDefaultColor = 8*11; + wxColor g_DefaultPalette[WXDC_BITMAP_PALETTE_SIZE] = { + wxColour(000, 000, 000), wxColour(128, 000, 000), wxColour(000, 128, 000), wxColour(128, 128, 000), + wxColour(000, 000, 128), wxColour(128, 000, 128), wxColour(000, 128, 128), wxColour(192, 192, 192), + + wxColour(128, 128, 128), wxColour(255, 000, 000), wxColour(000, 255, 000), wxColour(255, 255, 000), + wxColour(000, 000, 255), wxColour(255, 000, 255), wxColour(000, 255, 255), wxColour(255, 255, 255), + + wxColour( 38, 38, 38), wxColour( 76, 76, 76), wxColour(102, 102, 102), wxColour(128, 128, 128), + wxColour(153, 153, 153), wxColour(178, 178, 178), wxColour(204, 204, 204), wxColour(230, 230, 230), + + wxColour( 76, 000, 000), wxColour(127, 000, 000), wxColour(178, 000, 000), wxColour(229, 000, 000), + wxColour(255, 25, 25), wxColour(255, 76, 76), wxColour(255, 127, 127), wxColour(255, 178, 178), + + wxColour( 76, 57, 000), wxColour(127, 95, 000), wxColour(178, 133, 000), wxColour(229, 172, 000), + wxColour(255, 197, 25), wxColour(255, 210, 76), wxColour(255, 223, 127), wxColour(255, 255, 178), + + wxColour( 38, 76, 000), wxColour( 63, 127, 000), wxColour( 89, 178, 102), wxColour(114, 229, 000), + wxColour(140, 255, 025), wxColour(165, 255, 076), wxColour(191, 255, 127), wxColour(216, 255, 178), + + wxColour(000, 76, 19), wxColour(000, 127, 31), wxColour(000, 178, 44), wxColour(000, 229, 57), + wxColour( 25, 255, 82), wxColour( 76, 255, 121), wxColour(127, 255, 159), wxColour(178, 255, 197), + + wxColour(000, 76, 76), wxColour(000, 127, 127), wxColour(000, 178, 178), wxColour(000, 229, 229), + wxColour( 25, 255, 255), wxColour( 76, 255, 255), wxColour(127, 255, 255), wxColour(178, 255, 255), + + wxColour(000, 19, 76), wxColour(000, 31, 127), wxColour(000, 44, 178), wxColour(000, 57, 229), + wxColour( 25, 82, 255), wxColour( 76, 121, 255), wxColour(127, 159, 255), wxColour(178, 197, 255), + + wxColour( 38, 000, 76), wxColour( 63, 000, 127), wxColour( 89, 000, 178), wxColour(114, 000, 228), + wxColour(140, 25, 255), wxColour(165, 76, 255), wxColour(191, 127, 255), wxColour(216, 178, 255), + + wxColour( 76, 000, 57), wxColour(127, 000, 95), wxColour(178, 000, 133), wxColour(229, 000, 172), + wxColour(255, 25, 197), wxColour(255, 76, 210), wxColour(255, 127, 223), wxColour(255, 178, 235) + }; + + + #define IDM_VIEW_CENTER 6000 + #define IDM_VIEW_EXTRASCROLL 6001 + + #define ID_BITMAP_CTRL 101 + #define ID_PANEL_CTRL 102 + #define ID_TOOL_CTRL 103 + #define ID_PEN_CTRL 104 + + #define ID_TOOL_NONE (IDM_VIEW_MIN + 200) + #define ID_TOOL_HANDDRAW (IDM_VIEW_MIN + 201) + #define ID_TOOL_SPRAY (IDM_VIEW_MIN + 202) + #define ID_TOOL_LINE (IDM_VIEW_MIN + 203) + #define ID_TOOL_RECT (IDM_VIEW_MIN + 204) + #define ID_TOOL_ELLIPSE (IDM_VIEW_MIN + 205) + #define ID_TOOL_RRECT (IDM_VIEW_MIN + 206) + #define ID_TOOL_SELECTION (IDM_VIEW_MIN + 207) + #define ID_TOOL_SELALL (IDM_VIEW_MIN + 208) + #define ID_TOOL_SELMOVE (IDM_VIEW_MIN + 209) + #define ID_TOOL_SELREMOVE (IDM_VIEW_MIN + 210) + #define ID_TOOL_SELCUT (IDM_VIEW_MIN + 211) + #define ID_TOOL_SELCOPY (IDM_VIEW_MIN + 212) + #define ID_TOOL_SELPASTE (IDM_VIEW_MIN + 213) + #define ID_TOOL_SIZEALL (IDM_VIEW_MIN + 214) + + #define ID_TOOL_FIRST ID_TOOL_NONE + #define ID_TOOL_LAST ID_TOOL_SIZEALL + + #define ID_PEN_SIZE (IDM_VIEW_MIN + 250) + #define ID_PEN_SOLID (IDM_VIEW_MIN + 260) + #define ID_PEN_TRANSPARENT (IDM_VIEW_MIN + 261) + #define ID_PEN_DOT (IDM_VIEW_MIN + 262) + #define ID_PEN_LONG_DASH (IDM_VIEW_MIN + 263) + #define ID_PEN_SHORT_DASH (IDM_VIEW_MIN + 264) + #define ID_PEN_DOT_DASH (IDM_VIEW_MIN + 265) + + #define ID_PEN_STYLE_FIRST ID_PEN_SOLID + #define ID_PEN_STYLE_LAST ID_PEN_DOT_DASH + + #define ID_COLOR_CURSOR_LEFT 301 + #define ID_COLOR_CURSOR_RIGHT 302 + #define ID_COLOR_SLIDER_RED 303 + #define ID_COLOR_SLIDER_GREEN 304 + #define ID_COLOR_SLIDER_BLUE 305 + #define ID_COLOR_HTML 306 + + #define ID_COLOR_PALETTE_START 310 + #define ID_COLOR_PALETTE_END (ID_COLOR_PALETTE_START+WXDC_BITMAP_PALETTE_SIZE) + + + ////////////////////////////////////////////////////////////////////// + // BitmapWorkBar + ////////////////////////////////////////////////////////////////////// + + IMPLEMENT_DYNAMIC_CLASS(BitmapWorkBar, WorkBar) + + BEGIN_EVENT_TABLE(BitmapWorkBar, WorkBar) + EVT_COMMAND_RANGE(ID_COLOR_PALETTE_START, ID_COLOR_PALETTE_END, wxEVT_COMMAND_LEFT_CLICK, BitmapWorkBar::OnColorPaletteLeftClick) + EVT_COMMAND_RANGE(ID_COLOR_PALETTE_START, ID_COLOR_PALETTE_END, wxEVT_COMMAND_RIGHT_CLICK, BitmapWorkBar::OnColorPaletteRightClick) + + EVT_COMMAND_LEFT_CLICK(ID_COLOR_CURSOR_LEFT, BitmapWorkBar::OnColorLeftClick) + EVT_COMMAND_LEFT_CLICK(ID_COLOR_CURSOR_RIGHT, BitmapWorkBar::OnColorRightClick) + + EVT_TEXT(ID_COLOR_SLIDER_RED, BitmapWorkBar::OnSliderSpinTextChanged) + EVT_TEXT(ID_COLOR_SLIDER_GREEN, BitmapWorkBar::OnSliderSpinTextChanged) + EVT_TEXT(ID_COLOR_SLIDER_BLUE, BitmapWorkBar::OnSliderSpinTextChanged) + END_EVENT_TABLE() + + + bool BitmapWorkBar::Create(wxWindow* parent) + { + if(!WorkBar::Create(parent)) + return false; + + Show(false); + + wxSizer *pGlobalSizer = new wxBoxSizer(wxVERTICAL), + *pHSizer; + + // Liste de couleurs + pHSizer = new wxGridSizer(WXDC_BITMAP_PALETTE_HEIGHT, WXDC_BITMAP_PALETTE_WIDTH, 0, 0); + for(int i=0; i<WXDC_BITMAP_PALETTE_SIZE; i++) + { + m_pColourArray[i] = new wxColourCtrl(this, ID_COLOR_PALETTE_START+i, wxColour(255, 0, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSUNKEN_BORDER); + pHSizer->Add(m_pColourArray[i], 1, wxGROW); + pHSizer->SetItemMinSize(i, 16, 16); + if(i<g_NbDefaultColor) + m_pColourArray[i]->SetColour(g_DefaultPalette[i]); + } + pGlobalSizer->Add(pHSizer, 0, wxGROW); + + pGlobalSizer->AddSpacer(8); + + + // Deux boutons curseur + pHSizer = new wxBoxSizer(wxHORIZONTAL); + m_pColourLeftButton = new wxColourCtrl(this, ID_COLOR_CURSOR_LEFT, wxColour(255, 0, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSUNKEN_BORDER); + m_pColourRightButton = new wxColourCtrl(this, ID_COLOR_CURSOR_RIGHT, wxColour(0, 255, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSTATIC_BORDER); + pHSizer->Add(m_pColourLeftButton, 1, wxALL, 2); + pHSizer->Add(m_pColourRightButton, 1, wxALL, 2); + pHSizer->SetItemMinSize((size_t)0, -1, 32); + pHSizer->SetItemMinSize((size_t)1, -1, 32); + pGlobalSizer->Add(pHSizer, 0, wxGROW); + + pGlobalSizer->AddSpacer(8); + + + // SlideSpin + m_pRedSSC = new wxSliderSpinCtrl(this, ID_COLOR_SLIDER_RED, 0, 0, 255); + m_pGreenSSC = new wxSliderSpinCtrl(this, ID_COLOR_SLIDER_GREEN, 0, 0, 255); + m_pBlueSSC = new wxSliderSpinCtrl(this, ID_COLOR_SLIDER_BLUE, 0, 0, 255); + + m_pRedSSC->SetBackgroundColour(wxColour(255, 192, 192)); + m_pGreenSSC->SetBackgroundColour(wxColour(192, 255, 192)); + m_pBlueSSC->SetBackgroundColour(wxColour(192, 192, 255)); + + pGlobalSizer->Add(m_pRedSSC, 0, wxGROW|wxALL, 4); + pGlobalSizer->Add(m_pGreenSSC, 0, wxGROW|wxALL, 4); + pGlobalSizer->Add(m_pBlueSSC, 0, wxGROW|wxALL, 4); + + // Couleur HTML + m_pHTMLColor = new wxTextCtrl(this, ID_COLOR_HTML, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); + pHSizer = new wxBoxSizer(wxHORIZONTAL); + pHSizer->Add(new wxStaticText(this, -1, WXDC_BITMAP_LABEL_HTML), 0, wxALIGN_CENTER_VERTICAL); + pHSizer->Add(m_pHTMLColor, 1, wxGROW); + pGlobalSizer->Add(pHSizer, 0, wxGROW|wxALL, 4); + + SetSizerAndFit(pGlobalSizer); + + SetRightColor(wxColour(255, 255, 255)); + SetLeftColor(wxColour(0, 0, 0)); + + Show(true); + return true; + } + + + // Interception du changement de controle de couleur actif sur bouton gauche. + void BitmapWorkBar::OnColorPaletteLeftClick(wxCommandEvent& event) + { + wxColourCtrl *pCol = m_pColourArray[event.GetId()-ID_COLOR_PALETTE_START]; + SetLeftColor(pCol->GetColour()); + } + + // Interception du changement de controle de couleur actif sur bouton droit. + void BitmapWorkBar::OnColorPaletteRightClick(wxCommandEvent& event) + { + wxColourCtrl *pCol = m_pColourArray[event.GetId()-ID_COLOR_PALETTE_START]; + SetRightColor(pCol->GetColour()); + } + + // Interception du click sur le bouton gauche. + void BitmapWorkBar::OnColorLeftClick(wxCommandEvent& WXUNUSED(event)) + { + SetActiveColorCtrl(m_pColourLeftButton); + } + + // Interception du click sur le bouton droit. + void BitmapWorkBar::OnColorRightClick(wxCommandEvent& WXUNUSED(event)) + { + SetActiveColorCtrl(m_pColourRightButton); + } + + // Fixe la couleur gauche. + void BitmapWorkBar::SetLeftColor(wxColour col) + { + m_pColourLeftButton->SetColour(col); + SetActiveColorCtrl(m_pColourLeftButton); + } + + // Fixe la couleur droite. + void BitmapWorkBar::SetRightColor(wxColour col) + { + m_pColourRightButton->SetColour(col); + SetActiveColorCtrl(m_pColourRightButton); + } + + // Fixe le controle de couleur actif. + void BitmapWorkBar::SetActiveColorCtrl(wxColourCtrl* pColor) + { + m_pColourSelected = pColor; + + wxColour col = pColor->GetColour(); + + m_pRedSSC->SetValue(col.Red()); + m_pGreenSSC->SetValue(col.Green()); + m_pBlueSSC->SetValue(col.Blue()); + + m_pHTMLColor->SetValue(wxString::Format(wxT("%02X%02X%02X"), (int)col.Red(), (int)col.Green(), (int)col.Blue())); + } + + // Intercepte le changement de couleur des wxSliderSpinCtrl. + void BitmapWorkBar::OnSliderSpinTextChanged(wxCommandEvent& WXUNUSED(event)) + { + wxColor col((unsigned char)m_pRedSSC->GetValue(), + (unsigned char)m_pGreenSSC->GetValue(), + (unsigned char)m_pBlueSSC->GetValue()); + m_pColourSelected->SetColour(col); + m_pHTMLColor->SetValue(wxString::Format(wxT("%02X%02X%02X"), (int)col.Red(), (int)col.Green(), (int)col.Blue())); + } + + + + + + ////////////////////////////////////////////////////////////////////// // BitmapDocument ////////////////////////////////////////////////////////////////////// *************** *** 27,30 **** --- 273,280 ---- IMPLEMENT_DYNAMIC_CLASS(BitmapDocument, wxDevCenter::Document) + BEGIN_EVENT_TABLE(BitmapDocument, wxDevCenter::Document) + END_EVENT_TABLE() + + BitmapDocument::BitmapDocument(): Document() *************** *** 245,296 **** ////////////////////////////////////////////////////////////////////// - #define IDM_VIEW_CENTER 6000 - #define IDM_VIEW_EXTRASCROLL 6001 - - #define ID_BITMAP_CTRL 101 - #define ID_PANEL_CTRL 102 - #define ID_TOOL_CTRL 103 - #define ID_PEN_CTRL 104 - - #define ID_TOOL_NONE (IDM_VIEW_MIN + 200) - #define ID_TOOL_HANDDRAW (IDM_VIEW_MIN + 201) - #define ID_TOOL_SPRAY (IDM_VIEW_MIN + 202) - #define ID_TOOL_LINE (IDM_VIEW_MIN + 203) - #define ID_TOOL_RECT (IDM_VIEW_MIN + 204) - #define ID_TOOL_ELLIPSE (IDM_VIEW_MIN + 205) - #define ID_TOOL_RRECT (IDM_VIEW_MIN + 206) - #define ID_TOOL_SELECTION (IDM_VIEW_MIN + 207) - #define ID_TOOL_SELALL (IDM_VIEW_MIN + 208) - #define ID_TOOL_SELMOVE (IDM_VIEW_MIN + 209) - #define ID_TOOL_SELREMOVE (IDM_VIEW_MIN + 210) - #define ID_TOOL_SELCUT (IDM_VIEW_MIN + 211) - #define ID_TOOL_SELCOPY (IDM_VIEW_MIN + 212) - #define ID_TOOL_SELPASTE (IDM_VIEW_MIN + 213) - #define ID_TOOL_SIZEALL (IDM_VIEW_MIN + 214) - - #define ID_TOOL_FIRST ID_TOOL_NONE - #define ID_TOOL_LAST ID_TOOL_SIZEALL - - #define ID_PEN_SIZE (IDM_VIEW_MIN + 250) - #define ID_PEN_SOLID (IDM_VIEW_MIN + 260) - #define ID_PEN_TRANSPARENT (IDM_VIEW_MIN + 261) - #define ID_PEN_DOT (IDM_VIEW_MIN + 262) - #define ID_PEN_LONG_DASH (IDM_VIEW_MIN + 263) - #define ID_PEN_SHORT_DASH (IDM_VIEW_MIN + 264) - #define ID_PEN_DOT_DASH (IDM_VIEW_MIN + 265) - - #define ID_PEN_STYLE_FIRST ID_PEN_SOLID - #define ID_PEN_STYLE_LAST ID_PEN_DOT_DASH - - #define ID_COLOR_CURSOR_LEFT 301 - #define ID_COLOR_CURSOR_RIGHT 302 - #define ID_COLOR_SLIDER_RED 303 - #define ID_COLOR_SLIDER_GREEN 304 - #define ID_COLOR_SLIDER_BLUE 305 - #define ID_COLOR_HTML 306 - - #define ID_COLOR_PALETTE_START 310 - #define ID_COLOR_PALETTE_END (ID_COLOR_PALETTE_START+WXDC_BITMAP_PALETTE_SIZE) - IMPLEMENT_DYNAMIC_CLASS(BitmapView, View) --- 495,498 ---- *************** *** 306,322 **** EVT_EXTMOUSE_LEFT_END_DRAG(ID_BITMAP_CTRL, BitmapView::OnLeftDragEnd) - EVT_COMMAND_RANGE(ID_COLOR_PALETTE_START, ID_COLOR_PALETTE_END, wxEVT_COMMAND_LEFT_CLICK, BitmapView::OnColorPaletteLeftClick) - EVT_COMMAND_RANGE(ID_COLOR_PALETTE_START, ID_COLOR_PALETTE_END, wxEVT_COMMAND_RIGHT_CLICK, BitmapView::OnColorPaletteRightClick) - EVT_COLOUR(ID_COLOR_CURSOR_LEFT, BitmapView::OnSelLeftColourChanged) EVT_COLOUR(ID_COLOR_CURSOR_RIGHT, BitmapView::OnSelRightColourChanged) - EVT_COMMAND_LEFT_CLICK(ID_COLOR_CURSOR_LEFT, BitmapView::OnColorLeftClick) - EVT_COMMAND_LEFT_CLICK(ID_COLOR_CURSOR_RIGHT, BitmapView::OnColorRightClick) - - EVT_TEXT(ID_COLOR_SLIDER_RED, BitmapView::OnSliderSpinTextChanged) - EVT_TEXT(ID_COLOR_SLIDER_GREEN, BitmapView::OnSliderSpinTextChanged) - EVT_TEXT(ID_COLOR_SLIDER_BLUE, BitmapView::OnSliderSpinTextChanged) - EVT_UPDATE_UI_RANGE(ID_TOOL_FIRST, ID_TOOL_LAST, BitmapView::OnUpdateTools) EVT_TOOL_RANGE(ID_TOOL_FIRST, ID_TOOL_LAST, BitmapView::OnTool) --- 508,514 ---- *************** *** 334,339 **** View(), m_BVD(BVD_NONE), - m_pColourLeftButton(NULL), - m_pColourRightButton(NULL), m_ptSel(wxDefaultPosition) { --- 526,529 ---- *************** *** 389,404 **** wxSizer *pGlobalSizer = new wxBoxSizer(wxHORIZONTAL), *pToolSizer = new wxBoxSizer(wxVERTICAL); - wxPanel* pPanel = CreateColourBar(); pGlobalSizer->Add(m_pBitmapCtrl, 1, wxGROW); - pToolSizer->Add(pPanel, 0, wxGROW); - pToolSizer->SetItemMinSize((size_t)0, 172, -1); - pToolSizer->Add(CreateToolBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)1, 172, 82); pToolSizer->Add(CreatePenBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)2, 172, -1); --- 579,590 ---- wxSizer *pGlobalSizer = new wxBoxSizer(wxHORIZONTAL), *pToolSizer = new wxBoxSizer(wxVERTICAL); pGlobalSizer->Add(m_pBitmapCtrl, 1, wxGROW); pToolSizer->Add(CreateToolBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)0, 172, 82); pToolSizer->Add(CreatePenBar(), 0, wxGROW); ! pToolSizer->SetItemMinSize((size_t)0, 172, -1); *************** *** 407,514 **** SetSizerAndFit(pGlobalSizer); - - SetRightColor(wxColour(255, 255, 255)); - SetLeftColor(wxColour(0, 0, 0)); - - return true; } - int g_NbDefaultColor = 8*11; - wxColor g_DefaultPalette[WXDC_BITMAP_PALETTE_SIZE] = { - wxColour(000, 000, 000), wxColour(128, 000, 000), wxColour(000, 128, 000), wxColour(128, 128, 000), - wxColour(000, 000, 128), wxColour(128, 000, 128), wxColour(000, 128, 128), wxColour(192, 192, 192), - - wxColour(128, 128, 128), wxColour(255, 000, 000), wxColour(000, 255, 000), wxColour(255, 255, 000), - wxColour(000, 000, 255), wxColour(255, 000, 255), wxColour(000, 255, 255), wxColour(255, 255, 255), - - wxColour( 38, 38, 38), wxColour( 76, 76, 76), wxColour(102, 102, 102), wxColour(128, 128, 128), - wxColour(153, 153, 153), wxColour(178, 178, 178), wxColour(204, 204, 204), wxColour(230, 230, 230), - - wxColour( 76, 000, 000), wxColour(127, 000, 000), wxColour(178, 000, 000), wxColour(229, 000, 000), - wxColour(255, 25, 25), wxColour(255, 76, 76), wxColour(255, 127, 127), wxColour(255, 178, 178), - - wxColour( 76, 57, 000), wxColour(127, 95, 000), wxColour(178, 133, 000), wxColour(229, 172, 000), - wxColour(255, 197, 25), wxColour(255, 210, 76), wxColour(255, 223, 127), wxColour(255, 255, 178), - - wxColour( 38, 76, 000), wxColour( 63, 127, 000), wxColour( 89, 178, 102), wxColour(114, 229, 000), - wxColour(140, 255, 025), wxColour(165, 255, 076), wxColour(191, 255, 127), wxColour(216, 255, 178), - - wxColour(000, 76, 19), wxColour(000, 127, 31), wxColour(000, 178, 44), wxColour(000, 229, 57), - wxColour( 25, 255, 82), wxColour( 76, 255, 121), wxColour(127, 255, 159), wxColour(178, 255, 197), - - wxColour(000, 76, 76), wxColour(000, 127, 127), wxColour(000, 178, 178), wxColour(000, 229, 229), - wxColour( 25, 255, 255), wxColour( 76, 255, 255), wxColour(127, 255, 255), wxColour(178, 255, 255), - - wxColour(000, 19, 76), wxColour(000, 31, 127), wxColour(000, 44, 178), wxColour(000, 57, 229), - wxColour( 25, 82, 255), wxColour( 76, 121, 255), wxColour(127, 159, 255), wxColour(178, 197, 255), - - wxColour( 38, 000, 76), wxColour( 63, 000, 127), wxColour( 89, 000, 178), wxColour(114, 000, 228), - wxColour(140, 25, 255), wxColour(165, 76, 255), wxColour(191, 127, 255), wxColour(216, 178, 255), - - wxColour( 76, 000, 57), wxColour(127, 000, 95), wxColour(178, 000, 133), wxColour(229, 000, 172), - wxColour(255, 25, 197), wxColour(255, 76, 210), wxColour(255, 127, 223), wxColour(255, 178, 235) - }; - - - - // Création de la barre de couleurs. - wxPanel* BitmapView::CreateColourBar() - { - wxPanel *pPanel = new wxPanel(this, ID_PANEL_CTRL); - wxSizer *pGlobalSizer = new wxBoxSizer(wxVERTICAL), - *pHSizer; - - // Liste de couleurs - pHSizer = new wxGridSizer(WXDC_BITMAP_PALETTE_HEIGHT, WXDC_BITMAP_PALETTE_WIDTH, 0, 0); - for(int i=0; i<WXDC_BITMAP_PALETTE_SIZE; i++) - { - m_pColourArray[i] = new wxColourCtrl(pPanel, ID_COLOR_PALETTE_START+i, wxColour(255, 0, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSUNKEN_BORDER); - pHSizer->Add(m_pColourArray[i], 1, wxGROW); - pHSizer->SetItemMinSize(i, 16, 16); - if(i<g_NbDefaultColor) - m_pColourArray[i]->SetColour(g_DefaultPalette[i]); - } - pGlobalSizer->Add(pHSizer, 0, wxGROW); - - pGlobalSizer->AddSpacer(8); - - - // Deux boutons curseur - pHSizer = new wxBoxSizer(wxHORIZONTAL); - m_pColourLeftButton = new wxColourCtrl(pPanel, ID_COLOR_CURSOR_LEFT, wxColour(255, 0, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSUNKEN_BORDER); - m_pColourRightButton = new wxColourCtrl(pPanel, ID_COLOR_CURSOR_RIGHT, wxColour(0, 255, 0), wxDefaultPosition, wxSize(-1, 32), wxCOL_PICK_ON_DBLCLIC|wxSTATIC_BORDER); - pHSizer->Add(m_pColourLeftButton, 1, wxALL, 2); - pHSizer->Add(m_pColourRightButton, 1, wxALL, 2); - pHSizer->SetItemMinSize((size_t)0, -1, 32); - pHSizer->SetItemMinSize((size_t)1, -1, 32); - pGlobalSizer->Add(pHSizer, 0, wxGROW); - - pGlobalSizer->AddSpacer(8); - - - // SlideSpin - m_pRedSSC = new wxSliderSpinCtrl(pPanel, ID_COLOR_SLIDER_RED, 0, 0, 255); - m_pGreenSSC = new wxSliderSpinCtrl(pPanel, ID_COLOR_SLIDER_GREEN, 0, 0, 255); - m_pBlueSSC = new wxSliderSpinCtrl(pPanel, ID_COLOR_SLIDER_BLUE, 0, 0, 255); - - m_pRedSSC->SetBackgroundColour(wxColour(255, 192, 192)); - m_pGreenSSC->SetBackgroundColour(wxColour(192, 255, 192)); - m_pBlueSSC->SetBackgroundColour(wxColour(192, 192, 255)); - - pGlobalSizer->Add(m_pRedSSC, 0, wxGROW|wxALL, 4); - pGlobalSizer->Add(m_pGreenSSC, 0, wxGROW|wxALL, 4); - pGlobalSizer->Add(m_pBlueSSC, 0, wxGROW|wxALL, 4); - - // Couleur HTML - m_pHTMLColor = new wxTextCtrl(pPanel, ID_COLOR_HTML, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); - pHSizer = new wxBoxSizer(wxHORIZONTAL); - pHSizer->Add(new wxStaticText(pPanel, -1, WXDC_BITMAP_LABEL_HTML), 0, wxALIGN_CENTER_VERTICAL); - pHSizer->Add(m_pHTMLColor, 1, wxGROW); - pGlobalSizer->Add(pHSizer, 0, wxGROW|wxALL, 4); - - pPanel->SetSizerAndFit(pGlobalSizer); - return pPanel; - } // Création de la barre d'outil. --- 593,599 ---- *************** *** 618,702 **** - // Interception du changement de controle de couleur actif sur bouton gauche. - void BitmapView::OnColorPaletteLeftClick(wxCommandEvent& event) - { - wxColourCtrl *pCol = m_pColourArray[event.GetId()-ID_COLOR_PALETTE_START]; - SetLeftColor(pCol->GetColour()); - } - - // Interception du changement de controle de couleur actif sur bouton droit. - void BitmapView::OnColorPaletteRightClick(wxCommandEvent& event) - { - wxColourCtrl *pCol = m_pColourArray[event.GetId()-ID_COLOR_PALETTE_START]; - SetRightColor(pCol->GetColour()); - } - - // Interception du click sur le bouton gauche. - void BitmapView::OnColorLeftClick(wxCommandEvent& WXUNUSED(event)) - { - SetActiveColorCtrl(m_pColourLeftButton); - } - - // Interception du click sur le bouton droit. - void BitmapView::OnColorRightClick(wxCommandEvent& WXUNUSED(event)) - { - SetActiveColorCtrl(m_pColourRightButton); - } - - // Fixe la couleur gauche. - void BitmapView::SetLeftColor(wxColour col) - { - m_pColourLeftButton->SetColour(col); - SetActiveColorCtrl(m_pColourLeftButton); - m_Pen.SetColour(col); - } - - // Fixe la couleur droite. - void BitmapView::SetRightColor(wxColour col) - { - m_pColourRightButton->SetColour(col); - SetActiveColorCtrl(m_pColourRightButton); - m_Brush.SetColour(col); - } - - // Fixe le controle de couleur actif. - void BitmapView::SetActiveColorCtrl(wxColourCtrl* pColor) - { - m_pColourSelected = pColor; - - wxColour col = pColor->GetColour(); - - m_pRedSSC->SetValue(col.Red()); - m_pGreenSSC->SetValue(col.Green()); - m_pBlueSSC->SetValue(col.Blue()); - - m_pHTMLColor->SetValue(wxString::Format(wxT("%02X%02X%02X"), (int)col.Red(), (int)col.Green(), (int)col.Blue())); - } - - // Intercepte le changement de couleur des wxSliderSpinCtrl. - void BitmapView::OnSliderSpinTextChanged(wxCommandEvent& WXUNUSED(event)) - { - wxColor col((unsigned char)m_pRedSSC->GetValue(), - (unsigned char)m_pGreenSSC->GetValue(), - (unsigned char)m_pBlueSSC->GetValue()); - m_pColourSelected->SetColour(col); - m_pHTMLColor->SetValue(wxString::Format(wxT("%02X%02X%02X"), (int)col.Red(), (int)col.Green(), (int)col.Blue())); - } // Intercepte le changement de couleur de la sélection gauche. ! void BitmapView::OnSelLeftColourChanged(wxCommandEvent& WXUNUSED(event)) { ! if(m_pColourLeftButton) ! m_Pen.SetColour(m_pColourLeftButton->GetColour()); } // Intercepte le changement de couleur de la sélection droite. ! void BitmapView::OnSelRightColourChanged(wxCommandEvent& WXUNUSED(event)) { ! if(m_pColourRightButton) ! m_Brush.SetColour(m_pColourLeftButton->GetColour()); } - // Création de la barre de pinceau. wxPanel* BitmapView::CreatePenBar() --- 703,723 ---- // Intercepte le changement de couleur de la sélection gauche. ! void BitmapView::OnSelLeftColourChanged(wxCommandEvent& event) { ! wxColour* pCol = (wxColour*) event.GetClientData(); ! if(pCol!=NULL) ! m_Pen.SetColour(*pCol); } // Intercepte le changement de couleur de la sélection droite. ! void BitmapView::OnSelRightColourChanged(wxCommandEvent& event) { ! wxColour* pCol = (wxColour*) event.GetClientData(); ! if(pCol!=NULL) ! m_Brush.SetColour(*pCol); } // Création de la barre de pinceau. wxPanel* BitmapView::CreatePenBar() Index: StdPlugin.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/StdPlugin.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** StdPlugin.cpp 4 Mar 2005 16:35:17 -0000 1.4 --- StdPlugin.cpp 4 Apr 2005 09:18:30 -0000 1.5 *************** *** 70,73 **** --- 70,76 ---- { LoadPreferences(); + + // Enregistrement de la WorkBar de dessin. + wxGetApp().GetWorkBarManager().RegisterWorkBar(CLASSINFO(BitmapWorkBar), "Bitmap colors", "Palette of colors for bitmap edition."); } |