Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

QtWorkbench plugin

<< < (2/44) > >>

yop:
Houston, We Have a Problem...
Ok before I get the compiler to build I set it to using makefiles and when it finishes I return it to the previous state whatever that was. But this change to the build method produces the dialog "Project modified blah blah" which I would like to avoid.
Secondly I removed my log as it wasn't needed anymore, but I get the messages in the build log flushed when the build process finishes. I had the same behaviour with my log and I had to add the idle wake up timer. Do I also have to implement one although I don't have a log anymore? Doesn't this Yield thing "force" the pending events to be processed (so the buffered build log output should be flushed to the log by the compiler plugin)?

mandrav:

--- Quote ---Ok before I get the compiler to build I set it to using makefiles and when it finishes I return it to the previous state whatever that was. But this change to the build method produces the dialog "Project modified blah blah" which I would like to avoid.
--- End quote ---


--- Code: (cpp) ---// keep the old state
bool wasModified = project->GetModified();

// change settings and build...

// revert to old state
// ...
project->SetModified(wasModified);

--- End code ---


--- Quote ---Secondly I removed my log as it wasn't needed anymore, but I get the messages in the build log flushed when the build process finishes. I had the same behaviour with my log and I had to add the idle wake up timer. Do I also have to implement one although I don't have a log anymore? Doesn't this Yield thing "force" the pending events to be processed (so the buffered build log output should be flushed to the log by the compiler plugin)?
--- End quote ---

I haven't seen this, but try adding Manager::ProcessPendingEvents() after Manager::Yield() (or replace it).

yop:

--- Quote from: mandrav on February 05, 2006, 05:27:05 pm ---I haven't seen this, but try adding Manager::ProcessPendingEvents() after Manager::Yield() (or replace it).

--- End quote ---
Replacing it made the whole app non responsive. If I totally comment out the folowing it works like a charm.

--- Code: (cpp) ---        while (compiler->IsRunning())
        {
            // if you want to abort the build, ucomment the following:
            //compiler->KillProcess();
            wxMilliSleep(10);
            //Manager::Yield();
            Manager::ProcessPendingEvents();
        }

--- End code ---
Maybe I should leave it like that (without the while loop) and check compiler->IsRunning(); when the user requests another build, or call compiler->KillProcess(); to stop it and start over.

yop:
I've updated quite a few things, with the most important ones being linux support, Qt 3 support and multiple compilers support (at least gcc and icc were recognized beautifully) though you will have to delete any old Makefiles created for another compiler. I wasn't really planning on giving an update this early but that compiler ID instead of index change rushed things a bit so here you are (I didn't want any "I can't compile" remarks ;)). To build this one (namely 0.3) you 'll need at least revision 1967 of codeblocks. You'll also find a project file for linux, I had some problems with backticking wx-config --cflags. If anyone experiences this just give wx-config --cflags to a console and add anything that it outputs to the compiler options and it will build.
I 'll focus on workspace compilation and per target compilation to see what can be done there (it sohuld be easy as I've seen) and continue with the rest of the gui stuff, so it should be a while before I update again. You can get this latest release from the attachment in the first post. Any kind of feedback is welcome,
Yorgos

yop:
I 've updated to build under the current plugins framework (registering the plugin name). So you 'll need revision 1995 and up to build this one

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version