I think this
new FXMenuCommand(menuFile, "&New", ID_menuFileNew, getApp(), ID_menuFileNew, 0);
should be:
new FXMenuCommand(menuFile, "&New", NULL, this, ID_menuFileNew,0);
NULL could be replace with a valid FXIcon
and
this is the target you want to send the messages to not getApp().
ian
On Mon, 2002-08-12 at 21:07, Janito Vaqueriro Ferreira Filho wrote:
Hello,
In a strange way I can't figure out what is happening to my code
that I can't access the method of File | New. Help!!! Please! I need
this code to continue my progress! ThanQ very much ;-)
JVFF
____________________________________________________________________
#include "mainWindow.h"
//#include "FXRichText.h"
FXDEFMAP(mainWindow) mainWindowMap[] =
{
FXMAPFUNC(SEL_COMMAND, mainWindow::ID_menuFileNew, mainWindow::onFileNew)
};
FXIMPLEMENT(mainWindow, FXMainWindow, mainWindowMap, ARRAYNUMBER(mainWindowMap))
mainWindow::mainWindow(FXApp *app):
FXMainWindow(app, "JVFF ABe's IDE R0", NULL, NULL, DECOR_ALL, 0, 0,
600, 400)
{
new FXTooltip(getApp());
menubar = new FXMenubar(this, LAYOUT_SIDE_TOP | LAYOUT_FILL_X);
menuFile = new FXMenuPane(this);
new FXMenuCommand(menuFile, "&New", ID_menuFileNew, getApp(), ID_menuFileNew, 0);
new FXMenuCommand(menuFile, "&Quit", NULL, getApp(), FXApp::ID_QUIT, 0);
new FXMenuTitle(menubar, "&File", NULL, menuFile);
new FXHorizontalSeparator(this, LAYOUT_SIDE_TOP | LAYOUT_FILL_X | SEPARATOR_GROOVE);
barStatus = new FXStatusbar(this, LAYOUT_SIDE_BOTTOM | LAYOUT_FILL_X | STATUSBAR_WITH_DRAGCORNER);
mainFrame = new FXSplitter(this, LAYOUT_SIDE_TOP | LAYOUT_FILL_X | LAYOUT_FILL_Y | SPLITTER_TRACKING);
tabMain = new FXTabBook(mainFrame, this, LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_SIDE_RIGHT | FRAME_SUNKEN);
tabFiles = new FXTabItem(tabMain, "&Files", NULL);
tabFilesFrame = new FXHorizontalFrame(tabMain, LAYOUT_LEFT | LAYOUT_TOP | LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_RAISED | FRAME_THICK);
treeFiles = new FXTreeList(tabFilesFrame, 0, NULL, 0, FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_SIDE_TOP | LAYOUT_SIDE_RIGHT | TREELIST_SHOWS_LINES | TREELIST_SHOWS_BOXES | TREELIST_ROOT_BOXES | TREELIST_EXTENDEDSELECT);
tabClasses = new FXTabItem(tabMain, "&Classes", NULL);
tabClassesFrame = new FXHorizontalFrame(tabMain, LAYOUT_SIDE_LEFT | LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_RAISED | FRAME_THICK);
treeClasses = new FXTreeList(tabClassesFrame, 0, NULL, 0, FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_SIDE_TOP | LAYOUT_SIDE_RIGHT | TREELIST_SHOWS_LINES | TREELIST_SHOWS_BOXES | TREELIST_ROOT_BOXES | TREELIST_EXTENDEDSELECT);
/*tabGuis = new FXTabItem(tabMain, "&GUIs", NULL);
tabGuisFrame = new FXHorizontalFrame(tabMain, LAYOUT_SIDE_LEFT | LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_RAISED | FRAME_THICK);
treeGuis = new FXTreeList(tabGuisFrame, 0, NULL, 0, FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_SIDE_TOP | LAYOUT_SIDE_RIGHT | TREELIST_SHOWS_LINES | TREELIST_SHOWS_BOXES | TREELIST_ROOT_BOXES | TREELIST_EXTENDEDSELECT);*/
mdiClient = new FXMDIClient(mainFrame, LAYOUT_FILL_X | LAYOUT_FILL_Y);
new FXMDIWindowButton(menubar, mdiClient, FXMDIClient::ID_MDI_MENUWINDOW, LAYOUT_LEFT);
new FXMDIDeleteButton(menubar, mdiClient, FXMDIClient::ID_MDI_MENUCLOSE, FRAME_RAISED | LAYOUT_RIGHT);
new FXMDIRestoreButton(menubar, mdiClient, FXMDIClient::ID_MDI_MENURESTORE, FRAME_RAISED | LAYOUT_RIGHT);
new FXMDIMinimizeButton(menubar, mdiClient, FXMDIClient::ID_MDI_MENUMINIMIZE, FRAME_RAISED | LAYOUT_RIGHT);
mdiChild = new FXMDIChild(mdiClient, "", NULL, NULL, 0, 20, 20, 300, 300);
textCode = new FXText(mdiChild, 0);
mdiClient->setActiveChild(mdiChild, true);
}
void mainWindow::create()
{
FXMainWindow::create();
show(PLACEMENT_SCREEN);
}
mainWindow::mainWindow()
{
}
mainWindow::~mainWindow()
{
delete menuFile;
}
long mainWindow::onFileNew(FXObject *, FXSelector id, void *ptr)
{
FXMDIChild *mdiChild = new FXMDIChild(mdiClient, "", NULL, NULL, 0, 20, 20, 300, 300);
FXTreeItem *newFile;
textCode = new FXText(mdiChild, 0);
mdiChild->create();
mdiChild->show();
mdiClient->setActiveChild(mdiChild, true);
newFile = treeFiles->addItemFirst(NULL, "Test", NULL, NULL);
return 1;
}
____________________________________________________________________
#include "fx.h"
class mainWindow : public FXMainWindow
{
FXDECLARE(mainWindow)
private:
FXHorizontalFrame *tabFilesFrame;
FXHorizontalFrame *tabClassesFrame;
//FXHorizontalFrame *tabGuisFrame;
FXMDIChild *mdiChild;
FXMDIClient *mdiClient;
FXMenubar *menubar;
FXMenuPane *menuFile;
FXSplitter *mainFrame;
FXStatusbar *barStatus;
FXTabBook *tabMain;
FXTabItem *tabFiles;
FXTabItem *tabClasses;
//FXTabItem *tabGuis;
FXTreeList *treeFiles;
FXTreeList *treeClasses;
//FXTreeList *treeGuis;
FXText *textCode;
protected:
mainWindow();
public:
enum
{
ID_menuFileNew = FXMainWindow::ID_LAST
};
long onFileNew(FXObject *, FXSelector id, void *ptr);
public:
mainWindow(FXApp *app);
virtual void create();
virtual ~mainWindow();
};
____________________________________________________________________
#include "mainWindow.h"
int main(int argc,char *argv[])
{
FXApp application("ABesIDE","JVFF");
application.init(argc,argv);
new mainWindow(&application);
application.create();
return application.run();
}
|