Не могу сфокусировать кадр WxWidgets в Mac OSX скомпилированный с SCons - PullRequest
1 голос
/ 05 июня 2009

У меня есть этот исходный код теста WxWidgets, который компилируется, и при запуске он показывает простую рамку:

/*
 * hworld.cpp
 * Hello world sample by Robert Roebling
 */

#include "wx-2.8/wx/wx.h"

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
public:

     MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

    DECLARE_EVENT_TABLE()
};

enum
{
    ID_Quit = 1,
    ID_About,
};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(ID_Quit, MyFrame::OnQuit)
    EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame( _T("Hello World"), wxPoint(50,50), wxSize(450,340) );
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _T("&About...") );
    menuFile->AppendSeparator();
    menuFile->Append( ID_Quit, _T("E&xit") );

    wxMenuBar *menuBar = new wxMenuBar;
    menuBar->Append( menuFile, _T("&File") );

    SetMenuBar( menuBar );

    CreateStatusBar();
    SetStatusText( _T("Welcome to wxWindows!") );
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    Close(TRUE);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox(_T("This is a wxWindows Hello world sample"),
        _T("About Hello World"), wxOK | wxICON_INFORMATION, this);
}

Создано с помощью этого простого скрипта SCons:

env = Environment()
env.ParseConfig('wx-config --cxxflags --libs')

env.Program(target='wxTest/wxTest.exe',source=['src/Wxwidgets.cpp'])

Проблема: он не фокусируется, когда я его запускаю. Единственное, на чем я могу сосредоточиться - это красные, желтые и зеленые кнопки в левом верхнем углу. Я использую Eclipse в качестве своей IDE и запускаю scons в качестве внешнего инструмента при его создании.

Есть ли кто-нибудь, кто знает, что я делаю неправильно? Как мне сфокусировать кадр?

Надеюсь, есть кто-то, кто может мне помочь.

1 Ответ

4 голосов
/ 05 июня 2009

Я полагаю, вы запускаете необработанный исполняемый файл, который создается? Это не работает на Mac OS X, см. Мое приложение не может быть выведено на передний план!

Вам придется создать пакет приложений, чтобы приложение правильно работало в Mac OS X. Я ничего не знаю о SCons, но, может быть, wiki поможет?

...