Commit 3c4f76ab authored by jean-pierre charras's avatar jean-pierre charras

Fix a not shown dialog under XFCE and Unity. Make display hotkeys window not modal.

parent efe5658a
...@@ -419,6 +419,8 @@ int KeyCodeFromKeyName( const wxString& keyname ) ...@@ -419,6 +419,8 @@ int KeyCodeFromKeyName( const wxString& keyname )
* Displays the current hotkey list * Displays the current hotkey list
* aList = a EDA_HOTKEY_CONFIG list(Null terminated) * aList = a EDA_HOTKEY_CONFIG list(Null terminated)
*/ */
#include <html_messagebox.h>
void DisplayHotkeyList( EDA_BASE_FRAME* aFrame, struct EDA_HOTKEY_CONFIG* aDescList ) void DisplayHotkeyList( EDA_BASE_FRAME* aFrame, struct EDA_HOTKEY_CONFIG* aDescList )
{ {
wxString keyname; wxString keyname;
...@@ -453,7 +455,17 @@ void DisplayHotkeyList( EDA_BASE_FRAME* aFrame, struct EDA_HOTKEY_CONFIG* aDescL ...@@ -453,7 +455,17 @@ void DisplayHotkeyList( EDA_BASE_FRAME* aFrame, struct EDA_HOTKEY_CONFIG* aDescL
} }
msg += wxT( "</table></html></body>" ); msg += wxT( "</table></html></body>" );
#if 0 // Set to 1 to create a modal dialog (blocking)
DisplayHtmlInfoMessage( aFrame, _( "Hotkeys List" ), msg, wxSize( 340, 750 ) ); DisplayHtmlInfoMessage( aFrame, _( "Hotkeys List" ), msg, wxSize( 340, 750 ) );
#else
// Create a non modal dialog, which shows the list of hotkeys until dismissed
// but does not block the parent window
HTML_MESSAGE_BOX *dlg = new HTML_MESSAGE_BOX( aFrame, _( "Hotkeys List" ),
wxDefaultPosition, wxSize( 340, 750 ) );
dlg->AddHTML_Text( msg );
dlg->Show( true );
#endif
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2010 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 2010 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2014 KiCad Developers, see CHANGELOG.TXT for contributors. * Copyright (C) 2015 KiCad Developers, see CHANGELOG.TXT for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
...@@ -46,5 +46,10 @@ DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN( wxWindow* parent ) : ...@@ -46,5 +46,10 @@ DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN( wxWindow* parent ) :
m_choiceConnectionType->SetSelection( 0 ); m_choiceConnectionType->SetSelection( 0 );
m_textName->SetFocus(); m_textName->SetFocus();
m_sdbSizer2OK->SetDefault(); m_sdbSizerOK->SetDefault();
// On some windows manager (Unity, XFCE), this dialog is
// not always raised, depending on this dialog is run.
// Force it to be raised
Raise();
} }
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Jun 5 2014)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxSize( 350,-1 ), wxDefaultSize ); this->SetSizeHints( wxSize( 350,-1 ), wxDefaultSize );
...@@ -30,6 +30,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent ...@@ -30,6 +30,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent
fgSizer1->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 6 ); fgSizer1->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 6 );
m_textName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_textName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_textName->SetMaxLength( 0 );
fgSizer1->Add( m_textName, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 6 ); fgSizer1->Add( m_textName, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 6 );
...@@ -40,6 +41,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent ...@@ -40,6 +41,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent
fgSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 6 ); fgSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 6 );
m_textHeight = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_textHeight = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_textHeight->SetMaxLength( 0 );
fgSizer1->Add( m_textHeight, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 ); fgSizer1->Add( m_textHeight, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 );
m_staticHeightUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticHeightUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
...@@ -51,6 +53,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent ...@@ -51,6 +53,7 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent
fgSizer1->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 6 ); fgSizer1->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 6 );
m_textWidth = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_textWidth = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_textWidth->SetMaxLength( 0 );
fgSizer1->Add( m_textWidth, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 ); fgSizer1->Add( m_textWidth, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 );
m_staticWidthUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticWidthUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
...@@ -69,20 +72,24 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent ...@@ -69,20 +72,24 @@ DIALOG_SCH_EDIT_SHEET_PIN_BASE::DIALOG_SCH_EDIT_SHEET_PIN_BASE( wxWindow* parent
fgSizer1->Add( 0, 0, 1, wxEXPAND, 6 ); fgSizer1->Add( 0, 0, 1, wxEXPAND, 6 );
m_nameSizer->Add( fgSizer1, 1, wxEXPAND, 6 ); m_nameSizer->Add( fgSizer1, 1, wxEXPAND, 6 );
m_mainSizer->Add( m_nameSizer, 1, wxALL|wxEXPAND, 6 ); m_mainSizer->Add( m_nameSizer, 1, wxALL|wxEXPAND, 6 );
m_mainSizer->Add( 0, 0, 0, wxALL|wxEXPAND, 3 ); m_mainSizer->Add( 0, 0, 0, wxALL|wxEXPAND, 3 );
m_sdbSizer2 = new wxStdDialogButtonSizer(); m_sdbSizer = new wxStdDialogButtonSizer();
m_sdbSizer2OK = new wxButton( this, wxID_OK ); m_sdbSizerOK = new wxButton( this, wxID_OK );
m_sdbSizer2->AddButton( m_sdbSizer2OK ); m_sdbSizer->AddButton( m_sdbSizerOK );
m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL ); m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
m_sdbSizer2->AddButton( m_sdbSizer2Cancel ); m_sdbSizer->AddButton( m_sdbSizerCancel );
m_sdbSizer2->Realize(); m_sdbSizer->Realize();
m_mainSizer->Add( m_sdbSizer2, 0, wxALL|wxEXPAND, 6 );
m_mainSizer->Add( m_sdbSizer, 0, wxALL|wxEXPAND, 6 );
this->SetSizer( m_mainSizer ); this->SetSizer( m_mainSizer );
this->Layout(); this->Layout();
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Jun 5 2014)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_sch_edit_sheet_pin_base__ #ifndef __DIALOG_SCH_EDIT_SHEET_PIN_BASE_H__
#define __dialog_sch_edit_sheet_pin_base__ #define __DIALOG_SCH_EDIT_SHEET_PIN_BASE_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
class DIALOG_SHIM;
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
...@@ -28,14 +32,13 @@ ...@@ -28,14 +32,13 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_SCH_EDIT_SHEET_PIN_BASE /// Class DIALOG_SCH_EDIT_SHEET_PIN_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public wxDialog class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public DIALOG_SHIM
{ {
private: private:
protected: protected:
wxStaticText* m_staticText1; wxStaticText* m_staticText1;
wxTextCtrl* m_textName; wxTextCtrl* m_textName;
wxStaticText* m_staticText2; wxStaticText* m_staticText2;
wxTextCtrl* m_textHeight; wxTextCtrl* m_textHeight;
wxStaticText* m_staticHeightUnits; wxStaticText* m_staticHeightUnits;
...@@ -44,11 +47,9 @@ class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public wxDialog ...@@ -44,11 +47,9 @@ class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public wxDialog
wxStaticText* m_staticWidthUnits; wxStaticText* m_staticWidthUnits;
wxStaticText* m_staticText3; wxStaticText* m_staticText3;
wxChoice* m_choiceConnectionType; wxChoice* m_choiceConnectionType;
wxStdDialogButtonSizer* m_sdbSizer;
wxButton* m_sdbSizerOK;
wxStdDialogButtonSizer* m_sdbSizer2; wxButton* m_sdbSizerCancel;
wxButton* m_sdbSizer2OK;
wxButton* m_sdbSizer2Cancel;
public: public:
...@@ -57,4 +58,4 @@ class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public wxDialog ...@@ -57,4 +58,4 @@ class DIALOG_SCH_EDIT_SHEET_PIN_BASE : public wxDialog
}; };
#endif //__dialog_sch_edit_sheet_pin_base__ #endif //__DIALOG_SCH_EDIT_SHEET_PIN_BASE_H__
...@@ -54,6 +54,7 @@ TREEPROJECT_ITEM::TREEPROJECT_ITEM( enum TreeFileType type, const wxString& data ...@@ -54,6 +54,7 @@ TREEPROJECT_ITEM::TREEPROJECT_ITEM( enum TreeFileType type, const wxString& data
SetFileName( data ); SetFileName( data );
SetRootFile( false ); // true only for the root item of the tree (the project name) SetRootFile( false ); // true only for the root item of the tree (the project name)
SetPopulated( false ); SetPopulated( false );
m_state = 0;
} }
......
...@@ -183,9 +183,11 @@ private: ...@@ -183,9 +183,11 @@ private:
{ {
public: public:
ClipStage( Stage& nextStage, REAL position ) : ClipStage( Stage& nextStage, REAL position ) :
Boundary( position ) , m_NextStage( nextStage ), m_bFirst( true ) Boundary( position ) , m_NextStage( nextStage ), m_bFirst( true ), m_bPreviousInside( false )
{ } { }
void HandleVertex( const PointF& pntCurrent ) // Function to handle one vertex
// Function to handle one vertex
void HandleVertex( const PointF& pntCurrent )
{ {
bool bCurrentInside = this->IsInside( pntCurrent ); // See if vertex is inside the boundary. bool bCurrentInside = this->IsInside( pntCurrent ); // See if vertex is inside the boundary.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment