BaseStartHerePage::~BaseStartHerePage()
{
    lastProject1Bt->Disconnect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject1Click), NULL, this);
    lastProject2Bt->Disconnect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject2Click), NULL, this);
    lastProject3Bt->Disconnect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject3Click), NULL, this);
    
}
DocCommentPanelGeneratedClass::~DocCommentPanelGeneratedClass()
{
    // Disconnect Events
    this->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ) );
    PhpSiteDocs->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DocCommentPanelGeneratedClass::OnPhpSiteDocs ), NULL, this );
    PhpSiteDocs->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );
    CloseLink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DocCommentPanelGeneratedClass::OnClose ), NULL, this );
    CloseLink->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );
    Text->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );

}
Beispiel #3
0
void TrackPropDlg::OnAddLink( wxCommandEvent& event )
{
    m_pLinkProp->m_textCtrlLinkDescription->SetValue( wxEmptyString );
    m_pLinkProp->m_textCtrlLinkUrl->SetValue( wxEmptyString );
    if( m_pLinkProp->ShowModal() == wxID_OK ) {
        wxString desc = m_pLinkProp->m_textCtrlLinkDescription->GetValue();
        if( desc == wxEmptyString ) desc = m_pLinkProp->m_textCtrlLinkUrl->GetValue();
        wxHyperlinkCtrl* ctrl = new wxHyperlinkCtrl( m_scrolledWindowLinks, wxID_ANY, desc,
                m_pLinkProp->m_textCtrlLinkUrl->GetValue(), wxDefaultPosition, wxDefaultSize,
                wxHL_DEFAULT_STYLE );
        ctrl->Connect( wxEVT_COMMAND_HYPERLINK,
                wxHyperlinkEventHandler( TrackPropDlg::OnHyperLinkClick ), NULL, this );
        ctrl->Connect( wxEVT_RIGHT_DOWN,
                wxMouseEventHandler( TrackPropDlg::m_hyperlinkContextMenu ), NULL, this );

        bSizerLinks->Add( ctrl, 0, wxALL, 5 );
        bSizerLinks->Fit( m_scrolledWindowLinks );
        this->Fit();

        Hyperlink* h = new Hyperlink();
        h->DescrText = m_pLinkProp->m_textCtrlLinkDescription->GetValue();
        h->Link = m_pLinkProp->m_textCtrlLinkUrl->GetValue();
        h->LType = wxEmptyString;
        m_pRoute->m_HyperlinkList->Append( h );
    }

    sbSizerLinks->Layout();

    event.Skip();
}
ConfirmDialog::~ConfirmDialog()
{
	// Disconnect Events
	m_choiceProject->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfirmDialog::OnProjectChoice ), NULL, this );
	m_gridMetadata->Disconnect( wxEVT_SIZE, wxSizeEventHandler( ConfirmDialog::OnSize ), NULL, this );
	m_buttonLaunch->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfirmDialog::OnLaunch ), NULL, this );
	m_linkProjNotFound->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( ConfirmDialog::OnProjectNotFoundClicked ), NULL, this );
}
DocCommentPanelGeneratedClass::DocCommentPanelGeneratedClass( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
    this->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INFOTEXT ) );
    this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INFOBK ) );

    wxBoxSizer* BoxSizer;
    BoxSizer = new wxBoxSizer( wxVERTICAL );

    wxFlexGridSizer* GridSizer;
    GridSizer = new wxFlexGridSizer( 2, 1, 0, 0 );
    GridSizer->AddGrowableCol( 0 );
    GridSizer->AddGrowableRow( 1 );
    GridSizer->SetFlexibleDirection( wxBOTH );
    GridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );

    wxBoxSizer* TopSizer;
    TopSizer = new wxBoxSizer( wxHORIZONTAL );

    PhpSiteDocs = new wxHyperlinkCtrl( this, ID_PHP_SITE_LINK, wxT("php.net docs"), wxT("php.net"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
    TopSizer->Add( PhpSiteDocs, 0, wxALL, 5 );

    CloseLink = new wxHyperlinkCtrl( this, ID_CLOSE_LINK, wxT("Close"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
    TopSizer->Add( CloseLink, 0, wxALL, 5 );

    GridSizer->Add( TopSizer, 1, wxALIGN_RIGHT, 5 );

    Text = new wxRichTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxHSCROLL|wxVSCROLL|wxWANTS_CHARS );
    Text->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INFOTEXT ) );
    Text->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INFOBK ) );

    GridSizer->Add( Text, 1, wxEXPAND | wxALL, 5 );

    BoxSizer->Add( GridSizer, 1, wxEXPAND, 5 );

    this->SetSizer( BoxSizer );
    this->Layout();

    // Connect Events
    this->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ) );
    PhpSiteDocs->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DocCommentPanelGeneratedClass::OnPhpSiteDocs ), NULL, this );
    PhpSiteDocs->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );
    CloseLink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DocCommentPanelGeneratedClass::OnClose ), NULL, this );
    CloseLink->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );
    Text->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( DocCommentPanelGeneratedClass::OnKeyDown ), NULL, this );
}
Beispiel #6
0
void TrackPropDlg::OnDeleteLink( wxCommandEvent& event )
{
    wxHyperlinkListNode* nodeToDelete = NULL;
    wxString findurl = m_pEditedLink->GetURL();
    wxString findlabel = m_pEditedLink->GetLabel();
    m_scrolledWindowLinks->DestroyChildren();
    int NbrOfLinks = m_pRoute->m_HyperlinkList->GetCount();
    HyperlinkList *hyperlinklist = m_pRoute->m_HyperlinkList;
//      int len = 0;
    if( NbrOfLinks > 0 ) {
        wxHyperlinkListNode *linknode = hyperlinklist->GetFirst();
        while( linknode ) {
            Hyperlink *link = linknode->GetData();
            wxString Link = link->Link;
            wxString Descr = link->DescrText;
            if( Link == findurl
                    && ( Descr == findlabel || ( Link == findlabel && Descr == wxEmptyString ) ) ) nodeToDelete =
                    linknode;
            else {
                wxHyperlinkCtrl* ctrl = new wxHyperlinkCtrl( m_scrolledWindowLinks, wxID_ANY, Descr,
                        Link, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
                ctrl->Connect( wxEVT_COMMAND_HYPERLINK,
                        wxHyperlinkEventHandler( TrackPropDlg::OnHyperLinkClick ), NULL, this );
                ctrl->Connect( wxEVT_RIGHT_DOWN,
                        wxMouseEventHandler( TrackPropDlg::m_hyperlinkContextMenu ), NULL, this );

                bSizerLinks->Add( ctrl, 0, wxALL, 5 );
            }
            linknode = linknode->GetNext();
        }
    }
    if( nodeToDelete ) hyperlinklist->DeleteNode( nodeToDelete );
    m_scrolledWindowLinks->InvalidateBestSize();
    m_scrolledWindowLinks->Layout();
    sbSizerLinks->Layout();
    event.Skip();
}
Beispiel #7
0
bool TrackPropDlg::UpdateProperties()
{
    if( NULL == m_pRoute )
        return false;

    ::wxBeginBusyCursor();
    
    wxWindowList kids = m_scrolledWindowLinks->GetChildren();
    for( unsigned int i = 0; i < kids.GetCount(); i++ ) {
        wxWindowListNode *node = kids.Item( i );
        wxWindow *win = node->GetData();

        if( win->IsKindOf( CLASSINFO(wxHyperlinkCtrl) ) ) {
            ( (wxHyperlinkCtrl*) win )->Disconnect( wxEVT_COMMAND_HYPERLINK,
                    wxHyperlinkEventHandler( TrackPropDlg::OnHyperLinkClick ) );
            ( (wxHyperlinkCtrl*) win )->Disconnect( wxEVT_RIGHT_DOWN,
                    wxMouseEventHandler( TrackPropDlg::m_hyperlinkContextMenu ) );
        }
    }
    m_scrolledWindowLinks->DestroyChildren();
    
    int NbrOfLinks = m_pRoute->m_HyperlinkList->GetCount();
        HyperlinkList *hyperlinklist = m_pRoute->m_HyperlinkList;
//            int len = 0;
        if( NbrOfLinks > 0 ) {
        wxHyperlinkListNode *linknode = hyperlinklist->GetFirst();
        while( linknode ) {
            Hyperlink *link = linknode->GetData();
            wxString Link = link->Link;
            wxString Descr = link->DescrText;

            wxHyperlinkCtrl* ctrl = new wxHyperlinkCtrl( m_scrolledWindowLinks, wxID_ANY, Descr,
                    Link, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
            ctrl->Connect( wxEVT_COMMAND_HYPERLINK,
                    wxHyperlinkEventHandler( TrackPropDlg::OnHyperLinkClick ), NULL, this );
            if( !m_pRoute->m_bIsInLayer ) ctrl->Connect( wxEVT_RIGHT_DOWN,
                    wxMouseEventHandler( TrackPropDlg::m_hyperlinkContextMenu ), NULL, this );

            bSizerLinks->Add( ctrl, 0, wxALL, 5 );

            linknode = linknode->GetNext();
        }
    }
    bSizerLinks->Fit( m_scrolledWindowLinks );
            
    m_tName->SetValue( m_pRoute->m_RouteNameString );
    m_tFrom->SetValue( m_pRoute->m_RouteStartString );
    m_tTo->SetValue( m_pRoute->m_RouteEndString );
    m_tDescription->SetValue( m_pRoute->m_RouteDescription );

    m_tTotDistance->SetValue( _T("") );
    m_tTimeEnroute->SetValue( _T("") );

    m_sdbBtmBtnsSizerSplit->Enable( false );
    m_sdbBtmBtnsSizerExtend->Enable( false );

    m_pRoute->UpdateSegmentDistances();           // get segment and total distance
    // but ignore leg speed calcs

    // Calculate AVG speed if we are showing a track and total time
    RoutePoint *last_point = m_pRoute->GetLastPoint();
    RoutePoint *first_point = m_pRoute->GetPoint( 1 );
    double total_seconds = 0.;

    if( last_point->GetCreateTime().IsValid() && first_point->GetCreateTime().IsValid() ) {
        total_seconds =
                last_point->GetCreateTime().Subtract( first_point->GetCreateTime() ).GetSeconds().ToDouble();
        if( total_seconds != 0. ) {
            m_avgspeed = m_pRoute->m_route_length / total_seconds * 3600;
        } else {
            m_avgspeed = 0;
        }
        wxString s;
        s.Printf( _T("%5.2f"), toUsrSpeed( m_avgspeed ) );
        m_tAvgSpeed->SetValue( s );
    } else {
        wxString s( _T("--") );
        m_tAvgSpeed->SetValue( s );
    }

    //  Total length
    wxString slen;
    slen.Printf( wxT("%5.2f ") + getUsrDistanceUnit(), toUsrDistance( m_pRoute->m_route_length ) );

    m_tTotDistance->SetValue( slen );

    //  Time
    wxString time_form;
    wxTimeSpan time( 0, 0, (int) total_seconds, 0 );
    if( total_seconds > 3600. * 24. )
        time_form = time.Format( _("%D Days, %H:%M") );
    else
        if( total_seconds > 0. )
            time_form = time.Format( _("%H:%M") );
        else
            time_form = _T("--");
    m_tTimeEnroute->SetValue( time_form );
    
    m_cbShow->SetValue( m_pRoute->IsVisible() );
    
    if( m_pRoute->m_Colour == wxEmptyString )
        m_cColor->Select( 0 );
    else {
        for( unsigned int i = 0; i < sizeof( ::GpxxColorNames ) / sizeof(wxString); i++ ) {
            if( m_pRoute->m_Colour == ::GpxxColorNames[i] ) {
                m_cColor->Select( i + 1 );
                break;
            }
        }
    }

    for( unsigned int i = 0; i < sizeof( ::StyleValues ) / sizeof(int); i++ ) {
        if( m_pRoute->m_style == ::StyleValues[i] ) {
            m_cStyle->Select( i );
            break;
        }
    }

    for( unsigned int i = 0; i < sizeof( ::WidthValues ) / sizeof(int); i++ ) {
        if( m_pRoute->m_width == ::WidthValues[i] ) {
            m_cWidth->Select( i );
            break;
        }
    }

    if( m_pRoute->m_bIsInLayer )
    {
        m_tName->SetEditable( false );
        m_tFrom->SetEditable( false );
        m_tTo->SetEditable( false );
        m_tDescription->SetEditable( false );
        m_cbShow->Enable( false );
        m_cColor->Enable( false );
        m_cStyle->Enable( false );
        m_cWidth->Enable( false );
        m_sdbBtmBtnsSizerExtend->Enable( false );
        m_sdbBtmBtnsSizerSplit->Enable( false );
        SetTitle( wxString::Format( _("Track Properties, Layer: %d"), m_pRoute->m_LayerID ) );
    } else {
        m_tName->SetEditable( true );
        m_tFrom->SetEditable( true );
        m_tTo->SetEditable( true );
        m_tDescription->SetEditable( true );
        m_cbShow->Enable( true );
        m_cColor->Enable( true );
        m_cStyle->Enable( true );
        m_cWidth->Enable( true );

        m_sdbBtmBtnsSizerExtend->Enable( IsThisTrackExtendable() );
        //m_sdbBtmBtnsSizerSplit->Enable( false );
        SetTitle( _("Track Properties") );
    }

    ::wxEndBusyCursor();

    return true;
}
ConfirmDialog::ConfirmDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	m_sizerMain = new wxFlexGridSizer( 5, 1, 0, 0 );
	m_sizerMain->AddGrowableCol( 0 );
	m_sizerMain->AddGrowableRow( 3 );
	m_sizerMain->SetFlexibleDirection( wxBOTH );
	m_sizerMain->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_panelBackground = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	m_panelBackground->SetBackgroundColour( wxColour( 255, 255, 128 ) );
	
	wxBoxSizer* sizerWarning;
	sizerWarning = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* sizerWarningMiddle;
	sizerWarningMiddle = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBitmap* bitmapWarning;
	bitmapWarning = new wxStaticBitmap( m_panelBackground, wxID_ANY, wxArtProvider::GetBitmap( wxART_WARNING, wxART_OTHER ), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	sizerWarningMiddle->Add( bitmapWarning, 0, 0, 0 );
	
	wxStaticText* labelWarning;
	labelWarning = new wxStaticText( m_panelBackground, wxID_ANY, wxT("Warning: Can not connect to server"), wxDefaultPosition, wxDefaultSize, 0 );
	labelWarning->Wrap( -1 );
	sizerWarningMiddle->Add( labelWarning, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	sizerWarning->Add( sizerWarningMiddle, 1, wxALIGN_CENTER, 0 );
	
	m_panelBackground->SetSizer( sizerWarning );
	m_panelBackground->Layout();
	sizerWarning->Fit( m_panelBackground );
	m_sizerMain->Add( m_panelBackground, 1, wxEXPAND | wxALL, 0 );
	
	
	m_sizerMain->Add( 0, 0, 1, wxALL|wxEXPAND, 10 );
	
	wxStaticText* labelTitle;
	labelTitle = new wxStaticText( this, wxID_ANY, wxT("Confirm Research Project"), wxDefaultPosition, wxDefaultSize, 0 );
	labelTitle->Wrap( -1 );
	
	m_sizerMain->Add( labelTitle, 0, wxALL|wxEXPAND, 5 );
	
	wxFlexGridSizer* sizerMiddle;
	sizerMiddle = new wxFlexGridSizer( 3, 3, 0, 0 );
	sizerMiddle->AddGrowableCol( 1 );
	sizerMiddle->AddGrowableRow( 2 );
	sizerMiddle->SetFlexibleDirection( wxBOTH );
	sizerMiddle->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	wxStaticText* labelProject;
	labelProject = new wxStaticText( this, wxID_ANY, wxT("Research Project"), wxDefaultPosition, wxDefaultSize, 0 );
	labelProject->Wrap( -1 );
	sizerMiddle->Add( labelProject, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	wxString m_choiceProjectChoices[] = { wxEmptyString, wxT("- Not a registered research project -") };
	int m_choiceProjectNChoices = sizeof( m_choiceProjectChoices ) / sizeof( wxString );
	m_choiceProject = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceProjectNChoices, m_choiceProjectChoices, 0 );
	sizerMiddle->Add( m_choiceProject, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticText* staticText10;
	staticText10 = new wxStaticText( this, wxID_ANY, wxT("*"), wxDefaultPosition, wxDefaultSize, 0 );
	staticText10->Wrap( -1 );
	sizerMiddle->Add( staticText10, 0, wxALL, 5 );
	
	
	sizerMiddle->Add( 0, 0, 1, wxEXPAND, 5 );

	wxFlexGridSizer* fgSizer6;
	fgSizer6 = new wxFlexGridSizer( 1, 2, 0, 0 );
	fgSizer6->AddGrowableCol( 0 );
	fgSizer6->AddGrowableRow( 0 );
	fgSizer6->SetFlexibleDirection( wxHORIZONTAL );
	fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	

	
	m_labelTips = new wxStaticText( this, wxID_ANY, wxT("Please identify your research project ."), wxDefaultPosition, wxDefaultSize, 0 );
	m_labelTips->Wrap( -1 );
	fgSizer6->Add( m_labelTips, 0, wxALL|wxEXPAND, 5 );
	
	m_linkProjNotFound = new wxHyperlinkCtrl(
		this, wxID_ANY,
		"Project Not Found?",
		wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
	m_linkProjNotFound->SetToolTip( "Click to import your project" );
	
	fgSizer6->Add( m_linkProjNotFound, 0, wxALL, 5 );
	
	sizerMiddle->Add( fgSizer6, 1, wxEXPAND, 5 );
	
	sizerMiddle->Add( 0, 0, 1, wxEXPAND, 5 );
	
	wxStaticText* staticTextMetadata;
	staticTextMetadata = new wxStaticText( this, wxID_ANY, wxT("Metadata"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextMetadata->Wrap( -1 );
	sizerMiddle->Add( staticTextMetadata, 0, wxALIGN_TOP|wxALL, 5 );
	
	m_gridMetadata = new wxGrid( this, wxID_ANY, wxDefaultPosition, wxSize( 400,250 ), 0 );
	
	// Grid
	m_gridMetadata->CreateGrid( 0, 1 );
	m_gridMetadata->EnableEditing( true );
	m_gridMetadata->EnableGridLines( true );
	m_gridMetadata->EnableDragGridSize( false );
	m_gridMetadata->SetMargins( 0, 0 );
	
	// Columns
	m_gridMetadata->SetColSize( 0, 250 );
	m_gridMetadata->EnableDragColMove( false );
	m_gridMetadata->EnableDragColSize( true );
	m_gridMetadata->SetColLabelSize( 30 );
	m_gridMetadata->SetColLabelValue( 0, wxT("Value") );
	m_gridMetadata->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Rows
	m_gridMetadata->EnableDragRowSize( false );
	m_gridMetadata->SetRowLabelSize( 250 );
	m_gridMetadata->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
	
	// Label Appearance
	
	// Cell Defaults
	m_gridMetadata->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
	sizerMiddle->Add( m_gridMetadata, 0, wxALL|wxEXPAND, 5 );
	
	
	sizerMiddle->Add( 0, 0, 1, wxEXPAND, 5 );
	
	m_sizerMain->Add( sizerMiddle, 1, wxALL|wxEXPAND, 20 );
	
	wxFlexGridSizer* fgSizer4;
	fgSizer4 = new wxFlexGridSizer( 1, 2, 0, 0 );
	fgSizer4->AddGrowableCol( 0 );
	fgSizer4->AddGrowableRow( 0 );
	fgSizer4->SetFlexibleDirection( wxBOTH );
	fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	wxStaticText* staticText11;
	staticText11 = new wxStaticText( this, wxID_ANY, wxT("* Mandatory item"), wxDefaultPosition, wxDefaultSize, 0 );
	staticText11->Wrap( -1 );
	staticText11->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DDKSHADOW ) );
	
	fgSizer4->Add( staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
	
	wxBoxSizer* bSizer5;
	bSizer5 = new wxBoxSizer( wxHORIZONTAL );
	
	m_buttonCancel = new wxButton( this, wxID_CANCEL, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer5->Add( m_buttonCancel, 0, wxALL, 5 );
	
	m_buttonLaunch = new wxButton( this, wxID_ANY, wxT("Start"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonLaunch->SetDefault(); 
	bSizer5->Add( m_buttonLaunch, 0, wxALL, 5 );
	
	fgSizer4->Add( bSizer5, 1, wxALL|wxEXPAND, 5 );
	
	m_sizerMain->Add( fgSizer4, 1, wxEXPAND, 5 );
	
	this->SetSizer( m_sizerMain );
	this->Layout();
	m_sizerMain->Fit( this );
	
	this->Centre( wxBOTH );
	
	// Connect Events
	m_choiceProject->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfirmDialog::OnProjectChoice ), NULL, this );
	m_gridMetadata->Connect( wxEVT_SIZE, wxSizeEventHandler( ConfirmDialog::OnSize ), NULL, this );
	m_buttonLaunch->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfirmDialog::OnLaunch ), NULL, this );
	m_linkProjNotFound->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( ConfirmDialog::OnProjectNotFoundClicked ), NULL, this );
	


	/**
	 * Extra code not imported from wxFormBuilder
	 * Make sure not overwritten by update on form builder
	 */
	// set up icon
	this->SetIcon(icon_xpm);
	m_sizerMain->Hide(m_panelBackground);

    UpdateProjectList();

}
BaseStartHerePage::BaseStartHerePage(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : wxPanel(parent, id, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCraftergfm8VaInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxFlexGridSizer* flexGridSizer3 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer3->SetFlexibleDirection( wxBOTH );
    flexGridSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    flexGridSizer3->AddGrowableCol(0);
    flexGridSizer3->AddGrowableRow(1);
    this->SetSizer(flexGridSizer3);
    
    wxFlexGridSizer* logoSizer = new wxFlexGridSizer(0, 1, 0, 0);
    logoSizer->SetFlexibleDirection( wxBOTH );
    logoSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    logoSizer->AddGrowableCol(0);
    
    flexGridSizer3->Add(logoSizer, 1, wxALL|wxEXPAND, 5);
    
    logoBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    logoSizer->Add(logoBmp, 0, wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER_HORIZONTAL, 15);
    
    m_staticText9 = new wxStaticText(this, wxID_ANY, _("The open source, codingless game creator"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_staticText9->SetForegroundColour(wxColour(wxT("rgb(160,160,160)")));
    
    logoSizer->Add(m_staticText9, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 7);
    
    wxFlexGridSizer* centerSizer = new wxFlexGridSizer(0, 2, 0, 0);
    centerSizer->SetFlexibleDirection( wxBOTH );
    centerSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    flexGridSizer3->Add(centerSizer, 1, wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    
    wxFlexGridSizer* gettingstartedSizer = new wxFlexGridSizer(0, 1, 0, 0);
    gettingstartedSizer->SetFlexibleDirection( wxBOTH );
    gettingstartedSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    centerSizer->Add(gettingstartedSizer, 1, wxALL|wxEXPAND, 10);
    
    wxFlexGridSizer* flexGridSizer82 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer82->SetFlexibleDirection( wxBOTH );
    flexGridSizer82->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    gettingstartedSizer->Add(flexGridSizer82, 0, wxALL, 0);
    
    gettingStartedBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    flexGridSizer82->Add(gettingStartedBmp, 0, wxRIGHT|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5);
    
    gettingStartedTxt = new wxStaticText(this, wxID_ANY, _("Getting started"), wxDefaultPosition, wxSize(-1,-1), 0);
    gettingStartedTxt->SetForegroundColour(wxColour(wxT("rgb(120,120,120)")));
    
    flexGridSizer82->Add(gettingStartedTxt, 0, wxALL, 3);
    
    wxFlexGridSizer* flexGridSizer21 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer21->SetFlexibleDirection( wxBOTH );
    flexGridSizer21->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    gettingstartedSizer->Add(flexGridSizer21, 1, wxALL|wxEXPAND, 5);
    
    m_hyperLink17 = new wxHyperlinkCtrl(this, wxID_ANY, _("Start a platformer game in 5 minutes"), wxT("https://www.youtube.com/watch?v=5jdOR-NAiSA"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink17->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink17->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink17->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21->Add(m_hyperLink17, 0, wxALL, 3);
    
    m_hyperLink231 = new wxHyperlinkCtrl(this, wxID_ANY, _("Step-by-step Beginner Tutorial"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/beginnertutorial2"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink231->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink231->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink231->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21->Add(m_hyperLink231, 0, wxALL, 3);
    
    m_hyperLink23 = new wxHyperlinkCtrl(this, wxID_ANY, _("More videos and tutorials on the wiki"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink23->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink23->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink23->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21->Add(m_hyperLink23, 0, wxALL, 3);
    
    wxFlexGridSizer* latestProjectsSizer = new wxFlexGridSizer(0, 1, 0, 0);
    latestProjectsSizer->SetFlexibleDirection( wxBOTH );
    latestProjectsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    centerSizer->Add(latestProjectsSizer, 1, wxALL|wxEXPAND, 10);
    
    wxFlexGridSizer* flexGridSizer85 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer85->SetFlexibleDirection( wxBOTH );
    flexGridSizer85->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    latestProjectsSizer->Add(flexGridSizer85, 0, wxALL, 0);
    
    latestProjectsBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    flexGridSizer85->Add(latestProjectsBmp, 0, wxRIGHT|wxBOTTOM, 5);
    
    latestProjectsTxt = new wxStaticText(this, wxID_ANY, _("Latest projects"), wxDefaultPosition, wxSize(-1,-1), 0);
    latestProjectsTxt->SetForegroundColour(wxColour(wxT("rgb(120,120,120)")));
    
    flexGridSizer85->Add(latestProjectsTxt, 0, wxALL, 3);
    
    wxFlexGridSizer* flexGridSizer21410 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer21410->SetFlexibleDirection( wxBOTH );
    flexGridSizer21410->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    latestProjectsSizer->Add(flexGridSizer21410, 1, wxALL|wxEXPAND, 5);
    
    lastProject1Bt = new wxHyperlinkCtrl(this, wxID_ANY, _("-"), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    lastProject1Bt->SetNormalColour(wxColour(wxT("#0000FF")));
    lastProject1Bt->SetHoverColour(wxColour(wxT("#0000FF")));
    lastProject1Bt->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21410->Add(lastProject1Bt, 0, wxALL, 3);
    
    lastProject2Bt = new wxHyperlinkCtrl(this, wxID_ANY, _("-"), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    lastProject2Bt->SetNormalColour(wxColour(wxT("#0000FF")));
    lastProject2Bt->SetHoverColour(wxColour(wxT("#0000FF")));
    lastProject2Bt->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21410->Add(lastProject2Bt, 0, wxALL, 3);
    
    lastProject3Bt = new wxHyperlinkCtrl(this, wxID_ANY, _("-"), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    lastProject3Bt->SetNormalColour(wxColour(wxT("#0000FF")));
    lastProject3Bt->SetHoverColour(wxColour(wxT("#0000FF")));
    lastProject3Bt->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer21410->Add(lastProject3Bt, 0, wxALL, 3);
    
    wxFlexGridSizer* communitySizer = new wxFlexGridSizer(0, 1, 0, 0);
    communitySizer->SetFlexibleDirection( wxBOTH );
    communitySizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    centerSizer->Add(communitySizer, 1, wxALL|wxEXPAND, 10);
    
    wxFlexGridSizer* flexGridSizer91 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer91->SetFlexibleDirection( wxBOTH );
    flexGridSizer91->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    communitySizer->Add(flexGridSizer91, 0, wxALL, 0);
    
    communityBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    flexGridSizer91->Add(communityBmp, 0, wxRIGHT|wxBOTTOM, 5);
    
    communityTxt = new wxStaticText(this, wxID_ANY, _("Community"), wxDefaultPosition, wxSize(-1,-1), 0);
    communityTxt->SetForegroundColour(wxColour(wxT("rgb(120,120,120)")));
    
    flexGridSizer91->Add(communityTxt, 0, wxALL, 3);
    
    wxFlexGridSizer* flexGridSizer214 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer214->SetFlexibleDirection( wxBOTH );
    flexGridSizer214->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    communitySizer->Add(flexGridSizer214, 1, wxALL|wxEXPAND, 5);
    
    m_hyperLink175 = new wxHyperlinkCtrl(this, wxID_ANY, _("Go on GDevelop community forums"), wxT("http://forum.compilgames.net/viewforum.php?f=17"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink175->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink175->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink175->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer214->Add(m_hyperLink175, 0, wxALL, 3);
    
    m_hyperLink2316 = new wxHyperlinkCtrl(this, wxID_ANY, _("Facebook page"), wxT("https://www.facebook.com/GameDevelop"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink2316->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink2316->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink2316->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer214->Add(m_hyperLink2316, 0, wxALL, 3);
    
    m_hyperLink237 = new wxHyperlinkCtrl(this, wxID_ANY, _("Follow GDevelop on Twitter"), wxT("https://twitter.com/Game_Develop"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink237->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink237->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink237->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer214->Add(m_hyperLink237, 0, wxALL, 3);
    
    wxFlexGridSizer* newsSizer = new wxFlexGridSizer(0, 1, 0, 0);
    newsSizer->SetFlexibleDirection( wxBOTH );
    newsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    centerSizer->Add(newsSizer, 1, wxALL|wxEXPAND, 10);
    
    wxFlexGridSizer* flexGridSizer88 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer88->SetFlexibleDirection( wxBOTH );
    flexGridSizer88->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    newsSizer->Add(flexGridSizer88, 0, wxALL, 0);
    
    newsBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    flexGridSizer88->Add(newsBmp, 0, wxRIGHT|wxBOTTOM, 5);
    
    newsTxt = new wxStaticText(this, wxID_ANY, _("Latest news"), wxDefaultPosition, wxSize(-1,-1), 0);
    newsTxt->SetForegroundColour(wxColour(wxT("rgb(120,120,120)")));
    
    flexGridSizer88->Add(newsTxt, 0, wxALL, 3);
    
    newsEdit = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_READONLY|wxTE_MULTILINE);
    
    newsSizer->Add(newsEdit, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5);
    newsEdit->SetMinSize(wxSize(300,65));
    
    wxFlexGridSizer* flexGridSizer77 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer77->SetFlexibleDirection( wxBOTH );
    flexGridSizer77->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    flexGridSizer77->AddGrowableCol(0);
    
    newsSizer->Add(flexGridSizer77, 1, wxALL|wxEXPAND, 5);
    
    newsLink1 = new wxHyperlinkCtrl(this, wxID_ANY, wxT(""), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    newsLink1->SetNormalColour(wxColour(wxT("#0000FF")));
    newsLink1->SetHoverColour(wxColour(wxT("#0000FF")));
    newsLink1->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer77->Add(newsLink1, 0, wxLEFT|wxRIGHT|wxALIGN_RIGHT, 5);
    
    newsLink2 = new wxHyperlinkCtrl(this, wxID_ANY, wxT(""), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    newsLink2->SetNormalColour(wxColour(wxT("#0000FF")));
    newsLink2->SetHoverColour(wxColour(wxT("#0000FF")));
    newsLink2->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    flexGridSizer77->Add(newsLink2, 0, wxLEFT|wxRIGHT, 5);
    
    wxFlexGridSizer* bottomSizer = new wxFlexGridSizer(0, 7, 0, 0);
    bottomSizer->SetFlexibleDirection( wxBOTH );
    bottomSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    flexGridSizer3->Add(bottomSizer, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
    
    m_staticText53 = new wxStaticText(this, wxID_ANY, _("GDevelop is open source:"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    bottomSizer->Add(m_staticText53, 0, wxALL|wxALIGN_CENTER_VERTICAL, 10);
    
    donateBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    bottomSizer->Add(donateBmp, 0, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 4);
    
    donateLinkBt = new wxHyperlinkCtrl(this, wxID_ANY, _("Donate if you like it"), wxT("http://www.compilgames.net/donate.php"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    donateLinkBt->SetNormalColour(wxColour(wxT("#0000FF")));
    donateLinkBt->SetHoverColour(wxColour(wxT("#0000FF")));
    donateLinkBt->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    bottomSizer->Add(donateLinkBt, 0, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5);
    
    githubBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    bottomSizer->Add(githubBmp, 0, wxALL|wxALIGN_CENTER_VERTICAL, 4);
    
    m_hyperLink57 = new wxHyperlinkCtrl(this, wxID_ANY, _("Contribute on GitHub"), wxT("https://github.com/4ian/GD"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink57->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink57->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink57->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    bottomSizer->Add(m_hyperLink57, 0, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5);
    
    localeBmp = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(-1,-1), 0 );
    
    bottomSizer->Add(localeBmp, 0, wxALL|wxALIGN_CENTER_VERTICAL, 4);
    
    m_hyperLink572 = new wxHyperlinkCtrl(this, wxID_ANY, _("Help to translate GD in your language"), wxT("https://crowdin.com/project/gdevelop"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink572->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink572->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink572->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    bottomSizer->Add(m_hyperLink572, 0, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5);
    
    SetBackgroundColour(wxColour(wxT("rgb(255,255,255)")));
    SetName(wxT("BaseStartHerePage"));
    SetSize(700,500);
    if (GetSizer()) {
         GetSizer()->Fit(this);
    }
    // Connect events
    lastProject1Bt->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject1Click), NULL, this);
    lastProject2Bt->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject2Click), NULL, this);
    lastProject3Bt->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject3Click), NULL, this);
    
}
Beispiel #10
0
AndroidExportDialogBase::~AndroidExportDialogBase()
{
    m_hyperLink57->Disconnect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(AndroidExportDialogBase::OnHelpButtonClicked), NULL, this);
    m_browserButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AndroidExportDialogBase::OnBrowseButtonClicked), NULL, this);
    
}
Beispiel #11
0
AndroidExportDialogBase::AndroidExportDialogBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCCA21InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxFlexGridSizer* flexGridSizer53 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer53->SetFlexibleDirection( wxBOTH );
    flexGridSizer53->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    flexGridSizer53->AddGrowableCol(0);
    flexGridSizer53->AddGrowableRow(5);
    this->SetSizer(flexGridSizer53);
    
    m_staticText55 = new wxStaticText(this, wxID_ANY, _("Exports the game to a native Android application. This will produce source files ready to be compiled for Android using the Android SDK and NDK."), wxDefaultPosition, wxSize(-1,-1), 0);
    m_staticText55->Wrap(500);
    
    flexGridSizer53->Add(m_staticText55, 0, wxALL, 5);
    
    wxStaticBoxSizer* staticBoxSizer83 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Note")), wxVERTICAL);
    
    flexGridSizer53->Add(staticBoxSizer83, 1, wxALL|wxEXPAND, 5);
    
    m_staticText85 = new wxStaticText(this, wxID_ANY, _("This exporter is experimental and requires you to use advanced tools to compile the game for Android. Read this article for more information:"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_staticText85->Wrap(450);
    
    staticBoxSizer83->Add(m_staticText85, 0, wxALL, 5);
    
    m_hyperLink57 = new wxHyperlinkCtrl(this, wxID_ANY, _("How to compile your game exported files"), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink57->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink57->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink57->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    staticBoxSizer83->Add(m_hyperLink57, 0, wxALL, 5);
    
    m_staticLine59 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxLI_HORIZONTAL);
    
    flexGridSizer53->Add(m_staticLine59, 0, wxALL|wxEXPAND, 5);
    
    m_staticText61 = new wxStaticText(this, wxID_ANY, _("Export folder:"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    flexGridSizer53->Add(m_staticText61, 0, wxALL, 5);
    
    wxFlexGridSizer* flexGridSizer63 = new wxFlexGridSizer(1, 2, 0, 0);
    flexGridSizer63->SetFlexibleDirection( wxBOTH );
    flexGridSizer63->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    flexGridSizer63->AddGrowableCol(0);
    flexGridSizer63->AddGrowableRow(0);
    
    flexGridSizer53->Add(flexGridSizer63, 1, wxALL|wxEXPAND, 0);
    
    m_exportFolderTextCtrl = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_exportFolderTextCtrl->SetHint(wxT(""));
    #endif
    m_exportFolderTextCtrl->AutoCompleteDirectories();
    
    flexGridSizer63->Add(m_exportFolderTextCtrl, 0, wxALL|wxEXPAND, 5);
    
    m_browserButton = new wxButton(this, wxID_ANY, _("Browse..."), wxDefaultPosition, wxSize(-1,-1), 0);
    
    flexGridSizer63->Add(m_browserButton, 0, wxALL, 5);
    
    wxFlexGridSizer* flexGridSizer79 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer79->SetFlexibleDirection( wxBOTH );
    flexGridSizer79->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    flexGridSizer53->Add(flexGridSizer79, 1, wxALL|wxEXPAND, 5);
    
    m_stdBtnSizer71 = new wxStdDialogButtonSizer();
    
    flexGridSizer53->Add(m_stdBtnSizer71, 0, wxALL|wxEXPAND, 5);
    
    m_okButton = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_okButton->SetDefault();
    m_stdBtnSizer71->AddButton(m_okButton);
    
    m_cancelButton = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer71->AddButton(m_cancelButton);
    m_stdBtnSizer71->Realize();
    
    SetName(wxT("AndroidExportDialogBase"));
    SetMinClientSize(wxSize(300,250));
    SetSize(-1,-1);
    if (GetSizer()) {
         GetSizer()->Fit(this);
    }
    if(GetParent()) {
        CentreOnParent(wxBOTH);
    } else {
        CentreOnScreen(wxBOTH);
    }
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    } else {
        wxPersistenceManager::Get().Restore(this);
    }
#endif
    // Connect events
    m_hyperLink57->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(AndroidExportDialogBase::OnHelpButtonClicked), NULL, this);
    m_browserButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AndroidExportDialogBase::OnBrowseButtonClicked), NULL, this);
    
}