3
* $Id: selecciontexto.cpp 3526 2011-03-16 19:56:19Z carlos $
6
* Copyright 2008-10 MetaEmotion S.L. All rights reserved.
7
* http://ginkgo-cadx.com
9
* This file is licensed under LGPL v3 license.
10
* See License.txt for details
16
#include "selecciontexto.h"
17
#include <api/iwidgetsmanager.h>
18
#include <resources/ginkgoresourcemanager.h>
19
#include <wx/xml/xml.h>
21
GNC::GCS::Widgets::Dialogos::SeleccionTexto::SeleccionTexto(wxWindow* parent, TWidget* pWidget, TManager* pManager) : SeleccionTextoBase(parent)
24
icono.CopyFromBitmap(GinkgoResourcesManager::IconosMenus::GetIcoEditar());
28
m_pManager = pManager;
29
m_pControlTexto->SetValue(wxString::FromUTF8(m_pWidget->m_Texto.c_str()));
30
m_pControlTexto->SetSelection(-1,-1);
31
m_pColorPicker->SetColour( wxColour( (unsigned char) (pWidget->m_Color.B8()), (unsigned char) (pWidget->m_Color.G8()), (unsigned char) (pWidget->m_Color.R8()) ) );
36
GNC::GCS::Widgets::Dialogos::SeleccionTexto::~SeleccionTexto()
38
if (m_pWidget != NULL && m_pWidget->m_pWidgetSeleccion == this) {
39
m_pWidget->m_pWidgetSeleccion= NULL;
43
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnClickEnMenu(wxCommandEvent& /*event*/){
48
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnDialogoKeyDown( wxKeyEvent& event )
50
if (event.GetKeyCode() == WXK_ESCAPE) {
53
else if (event.GetKeyCode() == WXK_RETURN) {
62
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnControlTextoKeyDown( wxKeyEvent& event )
64
if (event.GetKeyCode() == WXK_ESCAPE) {
72
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnControlTextoTextoActualizado( wxCommandEvent& event )
77
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnBotonCancelarClick( wxCommandEvent& /*event*/ )
82
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnBotonAceptarClick( wxCommandEvent& /*event*/ )
88
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnColorCambiado(wxColourPickerEvent& /*event*/)
93
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::OnActivar(wxActivateEvent &/*event*/)
95
m_pControlTexto->SetFocus();
98
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::IniciarColores()
100
const GNC::GCS::Widgets::Color& colorWidget = m_pWidget->GetColor();
101
const GNC::GCS::Widgets::Color colorFondo = colorWidget.Inverso();
103
wxColour wColorFondo (colorFondo.R8(), colorFondo.G8(), colorFondo.B8());
104
wxColour wColorTexto (colorWidget.B8(), colorWidget.G8(), colorWidget.R8());
106
m_pColorPicker->SetColour(wColorTexto);
108
m_pControlTexto->SetForegroundColour(wColorTexto);
109
m_pControlTexto->SetBackgroundColour(wColorFondo);
112
void GNC::GCS::Widgets::Dialogos::SeleccionTexto::Actualizar(bool actualizarWidget)
114
wxColour wColorFondo;
115
wxColour wColorTexto = m_pColorPicker->GetColour();
117
GNC::GCS::Widgets::Color colorTexto(wColorTexto.Blue(), wColorTexto.Green(), wColorTexto.Red());
118
GNC::GCS::Widgets::Color ctmp = GNC::GCS::Widgets::Color(colorTexto).Invertir();
120
wColorFondo.Set(ctmp.B8(), ctmp.G8(), ctmp.R8());
122
m_pControlTexto->SetForegroundColour(wColorTexto);
123
m_pControlTexto->SetBackgroundColour(wColorFondo);
124
m_pControlTexto->Refresh();
126
if (actualizarWidget) {
128
bool modifica = false;
130
if (colorTexto != m_pWidget->GetColor()) {
131
m_pWidget->SetColor(colorTexto);
135
std::string textoControl(m_pControlTexto->GetValue().ToUTF8());
137
if (m_pWidget->GetTexto() != textoControl) {
138
m_pWidget->SetTexto(textoControl);
143
m_pWidget->Invalidar();
144
m_pWidget->PropagarModificacion();