remove flashing/redrawing of text edit dialog
This commit is contained in:
parent
078490db0c
commit
37d2057bee
|
@ -17,6 +17,24 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "dialog_edit_label.h"
|
#include "dialog_edit_label.h"
|
||||||
|
|
||||||
|
|
||||||
|
int DialogLabelEditor::ShowModally( WinEDA_SchematicFrame* parent, SCH_TEXT * CurrentText )
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
DialogLabelEditor* dialog = new DialogLabelEditor( parent, CurrentText );
|
||||||
|
|
||||||
|
// doing any post construction resizing is better done here than in
|
||||||
|
// OnInitDialog() since it tends to flash/redraw the dialog less.
|
||||||
|
dialog->init();
|
||||||
|
|
||||||
|
ret = dialog->ShowModal();
|
||||||
|
dialog->Destroy();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DialogLabelEditor::DialogLabelEditor( WinEDA_SchematicFrame* parent, SCH_TEXT* CurrentText ) :
|
DialogLabelEditor::DialogLabelEditor( WinEDA_SchematicFrame* parent, SCH_TEXT* CurrentText ) :
|
||||||
DialogLabelEditor_Base( parent )
|
DialogLabelEditor_Base( parent )
|
||||||
{
|
{
|
||||||
|
@ -25,7 +43,7 @@ DialogLabelEditor::DialogLabelEditor( WinEDA_SchematicFrame* parent, SCH_TEXT* C
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DialogLabelEditor::OnInitDialog( wxInitDialogEvent& event )
|
void DialogLabelEditor::init()
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,25 @@ private:
|
||||||
WinEDA_SchematicFrame * m_Parent;
|
WinEDA_SchematicFrame * m_Parent;
|
||||||
SCH_TEXT * m_CurrentText;
|
SCH_TEXT * m_CurrentText;
|
||||||
|
|
||||||
public:
|
void init();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// these are protected so that the static ShowModally() gets used.
|
||||||
DialogLabelEditor( WinEDA_SchematicFrame* parent, SCH_TEXT * CurrentText);
|
DialogLabelEditor( WinEDA_SchematicFrame* parent, SCH_TEXT * CurrentText);
|
||||||
~DialogLabelEditor(){};
|
~DialogLabelEditor(){};
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function ShowModally
|
||||||
|
* is a static function that constructs and then displays one of these dialogs.
|
||||||
|
* @param parent
|
||||||
|
* @param CurrentText is one of several classes derived from SCH_TEXT
|
||||||
|
* @return int - the result Dialog::ShowModal()
|
||||||
|
*/
|
||||||
|
static int ShowModally( WinEDA_SchematicFrame* parent, SCH_TEXT * CurrentText );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnInitDialog( wxInitDialogEvent& event );
|
void OnInitDialog( wxInitDialogEvent& event );
|
||||||
void OnButtonOKClick( wxCommandEvent& event );
|
void OnButtonOKClick( wxCommandEvent& event );
|
||||||
|
|
|
@ -82,7 +82,6 @@ DialogLabelEditor_Base::DialogLabelEditor_Base( wxWindow* parent, wxWindowID id,
|
||||||
this->Layout();
|
this->Layout();
|
||||||
|
|
||||||
// Connect Events
|
// Connect Events
|
||||||
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DialogLabelEditor_Base::OnInitDialog ) );
|
|
||||||
m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonOKClick ), NULL, this );
|
m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonOKClick ), NULL, this );
|
||||||
m_buttonCANCEL->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonCANCEL_Click ), NULL, this );
|
m_buttonCANCEL->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonCANCEL_Click ), NULL, this );
|
||||||
}
|
}
|
||||||
|
@ -90,7 +89,6 @@ DialogLabelEditor_Base::DialogLabelEditor_Base( wxWindow* parent, wxWindowID id,
|
||||||
DialogLabelEditor_Base::~DialogLabelEditor_Base()
|
DialogLabelEditor_Base::~DialogLabelEditor_Base()
|
||||||
{
|
{
|
||||||
// Disconnect Events
|
// Disconnect Events
|
||||||
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DialogLabelEditor_Base::OnInitDialog ) );
|
|
||||||
m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonOKClick ), NULL, this );
|
m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonOKClick ), NULL, this );
|
||||||
m_buttonCANCEL->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonCANCEL_Click ), NULL, this );
|
m_buttonCANCEL->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnButtonCANCEL_Click ), NULL, this );
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
<event name="OnHibernate"></event>
|
<event name="OnHibernate"></event>
|
||||||
<event name="OnIconize"></event>
|
<event name="OnIconize"></event>
|
||||||
<event name="OnIdle"></event>
|
<event name="OnIdle"></event>
|
||||||
<event name="OnInitDialog">OnInitDialog</event>
|
<event name="OnInitDialog"></event>
|
||||||
<event name="OnKeyDown"></event>
|
<event name="OnKeyDown"></event>
|
||||||
<event name="OnKeyUp"></event>
|
<event name="OnKeyUp"></event>
|
||||||
<event name="OnKillFocus"></event>
|
<event name="OnKillFocus"></event>
|
||||||
|
|
|
@ -50,7 +50,6 @@ class DialogLabelEditor_Base : public wxDialog
|
||||||
wxButton* m_buttonCANCEL;
|
wxButton* m_buttonCANCEL;
|
||||||
|
|
||||||
// Virtual event handlers, overide them in your derived class
|
// Virtual event handlers, overide them in your derived class
|
||||||
virtual void OnInitDialog( wxInitDialogEvent& event ){ event.Skip(); }
|
|
||||||
virtual void OnButtonOKClick( wxCommandEvent& event ){ event.Skip(); }
|
virtual void OnButtonOKClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
virtual void OnButtonCANCEL_Click( wxCommandEvent& event ){ event.Skip(); }
|
virtual void OnButtonCANCEL_Click( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
|
||||||
|
|
|
@ -137,8 +137,7 @@ void WinEDA_SchematicFrame::EditSchematicText( SCH_TEXT* TextStruct,
|
||||||
DrawPanel->CursorOff( DC );
|
DrawPanel->CursorOff( DC );
|
||||||
RedrawOneStruct( DrawPanel, DC, TextStruct, g_XorMode );
|
RedrawOneStruct( DrawPanel, DC, TextStruct, g_XorMode );
|
||||||
|
|
||||||
DialogLabelEditor* dialog = new DialogLabelEditor( this, TextStruct );
|
DialogLabelEditor::ShowModally( this, TextStruct );
|
||||||
dialog->ShowModal(); dialog->Destroy();
|
|
||||||
|
|
||||||
RedrawOneStruct( DrawPanel, DC, TextStruct, GR_DEFAULT_DRAWMODE );
|
RedrawOneStruct( DrawPanel, DC, TextStruct, GR_DEFAULT_DRAWMODE );
|
||||||
DrawPanel->CursorOn( DC );
|
DrawPanel->CursorOn( DC );
|
||||||
|
|
Loading…
Reference in New Issue