|
@@ -32,8 +32,12 @@ PolycodeClipboard *globalClipboard;
|
|
|
|
|
|
|
|
PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
core = new POLYCODE_CORE(view, 900,700,false,true, 0, 0,30, -1);
|
|
core = new POLYCODE_CORE(view, 900,700,false,true, 0, 0,30, -1);
|
|
|
- core->addEventListener(this, Core::EVENT_CORE_RESIZE);
|
|
|
|
|
|
|
+// core->pauseOnLoseFocus = true;
|
|
|
|
|
|
|
|
|
|
+ core->addEventListener(this, Core::EVENT_CORE_RESIZE);
|
|
|
|
|
+ core->addEventListener(this, Core::EVENT_LOST_FOCUS);
|
|
|
|
|
+ core->addEventListener(this, Core::EVENT_GAINED_FOCUS);
|
|
|
|
|
+
|
|
|
globalClipboard = new PolycodeClipboard();
|
|
globalClipboard = new PolycodeClipboard();
|
|
|
|
|
|
|
|
CoreServices::getInstance()->getRenderer()->setTextureFilteringMode(Renderer::TEX_FILTERING_NEAREST);
|
|
CoreServices::getInstance()->getRenderer()->setTextureFilteringMode(Renderer::TEX_FILTERING_NEAREST);
|
|
@@ -63,6 +67,7 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
|
|
|
|
|
willRunProject = false;
|
|
willRunProject = false;
|
|
|
|
|
|
|
|
|
|
+ globalMenu = new UIGlobalMenu();
|
|
|
|
|
|
|
|
printf("creating font editor\n");
|
|
printf("creating font editor\n");
|
|
|
|
|
|
|
@@ -74,6 +79,9 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
frame = new PolycodeFrame();
|
|
frame = new PolycodeFrame();
|
|
|
frame->setPositionMode(ScreenEntity::POSITION_TOPLEFT);
|
|
frame->setPositionMode(ScreenEntity::POSITION_TOPLEFT);
|
|
|
|
|
|
|
|
|
|
+ frame->editorManager = editorManager;
|
|
|
|
|
+ editorManager->addEventListener(frame, Event::CHANGE_EVENT);
|
|
|
|
|
+
|
|
|
frame->console->backtraceWindow->addEventListener(this, BackTraceEvent::EVENT_BACKTRACE_SELECTED);
|
|
frame->console->backtraceWindow->addEventListener(this, BackTraceEvent::EVENT_BACKTRACE_SELECTED);
|
|
|
|
|
|
|
|
frame->textInputPopup->addEventListener(this, UIEvent::OK_EVENT);
|
|
frame->textInputPopup->addEventListener(this, UIEvent::OK_EVENT);
|
|
@@ -94,6 +102,8 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
projectManager->setProjectBrowser(frame->getProjectBrowser());
|
|
projectManager->setProjectBrowser(frame->getProjectBrowser());
|
|
|
|
|
|
|
|
frame->projectManager = projectManager;
|
|
frame->projectManager = projectManager;
|
|
|
|
|
+
|
|
|
|
|
+ projectManager->addEventListener(frame, Event::CHANGE_EVENT);
|
|
|
|
|
|
|
|
frame->getProjectBrowser()->addEventListener(this, Event::CHANGE_EVENT);
|
|
frame->getProjectBrowser()->addEventListener(this, Event::CHANGE_EVENT);
|
|
|
frame->getProjectBrowser()->addEventListener(this, PolycodeProjectBrowserEvent::HANDLE_MENU_COMMAND);
|
|
frame->getProjectBrowser()->addEventListener(this, PolycodeProjectBrowserEvent::HANDLE_MENU_COMMAND);
|
|
@@ -113,7 +123,6 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
editorManager->registerEditorFactory(new PolycodeSpriteEditorFactory());
|
|
editorManager->registerEditorFactory(new PolycodeSpriteEditorFactory());
|
|
|
|
|
|
|
|
|
|
|
|
|
- globalMenu = new UIGlobalMenu();
|
|
|
|
|
screen->addChild(globalMenu);
|
|
screen->addChild(globalMenu);
|
|
|
|
|
|
|
|
loadConfigFile();
|
|
loadConfigFile();
|
|
@@ -158,7 +167,8 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
|
|
|
#endif
|
|
#endif
|
|
|
core->setVideoMode(1100, 700, false, true, 0, 0);
|
|
core->setVideoMode(1100, 700, false, true, 0, 0);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ needsRedraw = false;
|
|
|
|
|
+ lastConnected = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void PolycodeIDEApp::renameFile() {
|
|
void PolycodeIDEApp::renameFile() {
|
|
@@ -448,6 +458,12 @@ void PolycodeIDEApp::handleEvent(Event *event) {
|
|
|
|
|
|
|
|
if(event->getDispatcher() == core) {
|
|
if(event->getDispatcher() == core) {
|
|
|
switch(event->getEventCode()) {
|
|
switch(event->getEventCode()) {
|
|
|
|
|
+ case Core::EVENT_LOST_FOCUS:
|
|
|
|
|
+ core->setFramerate(1);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case Core::EVENT_GAINED_FOCUS:
|
|
|
|
|
+ core->setFramerate(30);
|
|
|
|
|
+ break;
|
|
|
case Core::EVENT_CORE_RESIZE:
|
|
case Core::EVENT_CORE_RESIZE:
|
|
|
if(menuBar) {
|
|
if(menuBar) {
|
|
|
frame->Resize(core->getXRes(), core->getYRes()-25);
|
|
frame->Resize(core->getXRes(), core->getYRes()-25);
|
|
@@ -677,12 +693,17 @@ bool PolycodeIDEApp::Update() {
|
|
|
runProject();
|
|
runProject();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if(lastConnected != debugger->isConnected()) {
|
|
|
|
|
+ needsRedraw = true;
|
|
|
|
|
+ lastConnected = debugger->isConnected();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if(debugger->isConnected()) {
|
|
if(debugger->isConnected()) {
|
|
|
frame->stopButton->visible = true;
|
|
frame->stopButton->visible = true;
|
|
|
frame->stopButton->enabled = true;
|
|
frame->stopButton->enabled = true;
|
|
|
|
|
|
|
|
frame->playButton->visible = false;
|
|
frame->playButton->visible = false;
|
|
|
- frame->playButton->enabled = false;
|
|
|
|
|
|
|
+ frame->playButton->enabled = false;
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
frame->stopButton->visible = false;
|
|
frame->stopButton->visible = false;
|
|
@@ -691,6 +712,7 @@ bool PolycodeIDEApp::Update() {
|
|
|
frame->playButton->visible = true;
|
|
frame->playButton->visible = true;
|
|
|
frame->playButton->enabled = true;
|
|
frame->playButton->enabled = true;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
|
|
|
if(projectManager->getProjectCount() == 1) {
|
|
if(projectManager->getProjectCount() == 1) {
|
|
|
projectManager->setActiveProject(projectManager->getProjectByIndex(0));
|
|
projectManager->setActiveProject(projectManager->getProjectByIndex(0));
|
|
@@ -706,6 +728,7 @@ bool PolycodeIDEApp::Update() {
|
|
|
frame->mainSizer->enabled = false;
|
|
frame->mainSizer->enabled = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
return core->Update();
|
|
return core->Update();
|
|
|
}
|
|
}
|
|
|
|
|
|