News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

Usability issues

Started by Ceniza, February 21, 2009, 11:18:06 PM

Previous topic - Next topic

oBFusCATed

Thanks, I'll try it when I get home.

Yesterday, I've tried to fix it, but I could not understand where is the problem :(
Is there something as Spy++ for wxWidgets,
a tool that can log the messages which are received by the different widgets?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

oBFusCATed

QuoteIssue 7: Send command to debugger field

In this thread, I've posted a patch: http://forums.next.codeblocks.org/index.php/topic,10676.0.html

Please test, because I don't use this feature at all (but might start:) )
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Ceniza

#32
Mockup for Issue 4:



BTW, in Visual C++ 10 Beta you can make any of those tooltips stay floating on the editor (as in "they won't disappear once you move the mouse away or click somewhere else"). Really nice way to add "visual watches".

oBFusCATed

Is this doable with wx?

I can do something on this ... after I finish my current work on the debugger :) ...
This feature is quite useful in vc2005.

Do you have a link to a video that demonstrates the vc10 behaviour?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

MortenMacFly

Quote from: oBFusCATed on August 27, 2009, 09:20:45 PM
Is this doable with wx?
Certainly. Probably a floating window that makes use of wxPropertyGrid can be used here, too.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

Ceniza

Quote from: oBFusCATed on August 27, 2009, 09:20:45 PM
Do you have a link to a video that demonstrates the vc10 behaviour?

I could not find a video showing that, but you could download the Beta version and give the debugger a try. I find the debugger in VC++ amazing. It has been of huge help at work. A couple of things they got right are: value tooltips allowing you to easily navigate through a variable contents just by hovering the mouse on it (it also allows you to change the value through it), data breakpoints, set next line, mixed C++ & ASM debugging (it's actually ASM debugging showing you also the C++ statements), multiple memory views, ...

IIRC, the only thing I could not find how to do (at least in VC++ 2005) is how to change the value of a register. Although it is something you seldom do, you may want to do it sometime.

On the other hand, VC++ as a text editor is not that good by default. It lacks a couple of minor things that many other simpler, and just plain, text editors have (e.g. matching braces or highlighting the current line).

As a matter of fact, most of the issues I posted here come from my experience with VC++ at work (which I mentioned already). C::B is not a rip-off of VC++, but it is still worth checking what they are doing better and considering whether or not it may be nice to add such functionality to C::B.

mariocup

Hi Ceniza,

Quote from: Ceniza on August 28, 2009, 07:11:13 PM
mixed C++ & ASM debugging (it's actually ASM debugging showing you also the C++ statements), multiple memory views, ...

One of the most important features for embedded is in my eyes the mixed mode view: intermix ASM and C/C++ source code.

The GNU debugger provides already the information for mixed mode

interpreter-exec mi "-data-disassemble -f main.cpp -l 2 -- 1"

The passing of --0 or --1 will provide information for mixed mode if it is parsed.

The only think I do not not if scintilla would be able to display such a content or it would require modifications in the core.

Ceniza

In case it helps to illustrate better what I am talking about, here's a screenshot of VC++ 10 for a similar test scenario:



The visualizations in yellow are the ones that stay on top. To put them there, all one has to do is click the icon in front of the value in the visualization that appears when you place the mouse on top of the name of the variable you want to check.

To give another example, here is the way the visualization is implemented in Delphi 2010:


oBFusCATed

The yellow boxes are the new feature in vc10?

The debugger in VC is the only thing they've done right in the IDE...  :lol:
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Ceniza

Quote from: oBFusCATed on August 29, 2009, 07:44:30 PM
The yellow boxes are the new feature in vc10?

I think so. I have not used VC2k8 myself, so maybe they were introduced there. At least VC2k5 does not have them.

They have also introduced debugging facilities for threaded programs (although I have not checked those), "spell checking" as you type (it underlines errors in red, but I did not find how to get the actual error message from it (without trying to compile)), a couple of new features for the compiler itself (we do not have to worry about it since we only work on the IDE), and, most likely, a couple more.

Quote from: oBFusCATed on August 29, 2009, 07:44:30 PM
The debugger in VC is the only thing they've done right in the IDE...  :lol:

Yes, indeed.

Ceniza

Quote from: mariocup on August 28, 2009, 10:41:22 PM
Hi Ceniza,

Quote from: Ceniza on August 28, 2009, 07:11:13 PM
mixed C++ & ASM debugging (it's actually ASM debugging showing you also the C++ statements), multiple memory views, ...

One of the most important features for embedded is in my eyes the mixed mode view: intermix ASM and C/C++ source code.

The GNU debugger provides already the information for mixed mode

interpreter-exec mi "-data-disassemble -f main.cpp -l 2 -- 1"

The passing of --0 or --1 will provide information for mixed mode if it is parsed.

The only think I do not not if scintilla would be able to display such a content or it would require modifications in the core.

I just checked the interpreter-exec mi command. I had no idea GDB had such a thing. It's just the way to go when writing a plugin that interfaces with it. It makes parsing the output a lot easier, and even more informative. Why do I think the debugger plugin does not use it?

I have the same doubt as you: would Scintilla be of any help here? What if we want syntax highlighting (there are two languages being shown)?

Anyway, it's good to know that GDB does already provide the mechanism to do it.

oBFusCATed

Maybe the creator of the debugger plugin didn't find the GDB/MI interface or it wasn't stable at the time.

With the MI interface the parsing is easier, but the greatest benefit is that every command can have a unique id (the output of the command had it, too),
so you can send for execution a series of commands and when they finish to process the output.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]