Author Topic: Usability issues  (Read 30014 times)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Usability issues
« Reply #30 on: June 05, 2009, 04:36:38 pm »
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!]

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Usability issues
« Reply #31 on: June 09, 2009, 11:56:57 pm »
Quote
Issue 7: Send command to debugger field

In this thread, I've posted a patch: http://forums.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!]

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Usability issues
« Reply #32 on: August 27, 2009, 07:53:47 pm »
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".
« Last Edit: August 27, 2009, 08:04:11 pm by Ceniza »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Usability issues
« Reply #33 on: August 27, 2009, 09:20:45 pm »
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!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Usability issues
« Reply #34 on: August 27, 2009, 09:22:12 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: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Usability issues
« Reply #35 on: August 28, 2009, 07:11:13 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

  • Guest
Re: Usability issues
« Reply #36 on: August 28, 2009, 10:41:22 pm »
Hi Ceniza,

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
Code
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.

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Usability issues
« Reply #37 on: August 29, 2009, 01:26:09 pm »
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:


Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Usability issues
« Reply #38 on: August 29, 2009, 07:44:30 pm »
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!]

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Usability issues
« Reply #39 on: August 30, 2009, 08:36:41 am »
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.

The debugger in VC is the only thing they've done right in the IDE...  :lol:

Yes, indeed.

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Usability issues
« Reply #40 on: August 30, 2009, 11:22:07 am »
Hi Ceniza,

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
Code
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.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Usability issues
« Reply #41 on: August 30, 2009, 12:56:20 pm »
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!]