Code::Blocks
April 21, 2014, 01:27:07 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: When registered with our forums, feel free to send a "here I am" post in http://forums.codeblocks.org/index.php/topic,14168.0.html to differ human beings from SPAM bots.
 
   Home   Help Search Login Register  :: WebsiteWiki  
Pages: [1]   Go Down
  Send this topic  |  Print  
Author Topic: Where is my reverse mouse cursor?  (Read 5867 times)
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« on: December 21, 2005, 08:55:38 pm »

This concerns Windows builds.

When you hover over the line numbers of an editor, you can click to select a full line. The mouse cursor should point to the right while over this selection margin to indicate the expected action. It doesn't.

There is a line of code at codeblocks/sdk/wxscintilla/src/scintilla/src/Editor.cxx:5215 that sets the mouse cursor to point right. I have used the debugger and verified this line IS getting called at the right time.

The problem seems to lie inthe way wxWidgets handles the call. If you look at wxWidgets-2.6.2/src/msw/cursor.cpp:313, you can see that the right arrow is not defined as a Windows default. Instead, the cursor is supposed to load from the wxWidgets DLL, as specified in the resource file wxWidgets-2.6.2/include/wx/msw/wx.rc:55.

So why did I mention all this? Well, it seems there is a right-cursor that DOES get shown at one point. If you hover your mouse over the far left pixel of the text area in the Build Log or the Code::Blocks message tab (a couple tabs to the left of the build log on mine), the cursor points to the right. Why does it happen here, and how can we make use of that to make it also point to the right when you're hovered over the selection margin of an editor window?
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
takeshi miya
Lives here!
****
Offline Offline

Posts: 1487


« Reply #1 on: December 21, 2005, 10:41:49 pm »

This bug along with the one described here are the most annoying ones personally. I've met them when I first discovered C::B and I was really worried no other noticed it.

I didn't bothered to fix it because I thought it was a scintilla bug, but it seems not.
Logged
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #2 on: December 21, 2005, 10:46:05 pm »

This bug along with the one described here are the most annoying ones personally. I've met them when I first discovered C::B and I was really worried no other noticed it.

I didn't bothered to fix it because I thought it was a scintilla bug, but it seems not.

I can fix that one. I just fixed the one where after you type '}' and it automatically lines up your brace, the next uparrow or downarrow keystroke puts the cursor at the beginning of the line you move to instead of right above or below where the brace is.

Can you figure out what's different between the editor margin and the build log margin?  :?
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #3 on: December 22, 2005, 12:08:33 am »

To fix the behavior in the breakpoint margin, comment out the following line from sdk/cbeditor.cpp:
Code:
m_pControl->SetMarginSensitive(1, 1);

There's only one such line in the file. You can still set, edit, and remove breakpoints and bookmarks by right-clicking the margin.
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
grv575
Official tester
Regular
***
Offline Offline

Posts: 381


« Reply #4 on: December 22, 2005, 02:25:15 am »

There's only one such line in the file. You can still set, edit, and remove breakpoints and bookmarks by right-clicking the margin.

Isn't being able to set breakpoints easily (1 click) more important than visual feedback when highlighting a line?  I think it's a scintilla shortcoming/bug in any case.
Logged
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #5 on: December 22, 2005, 02:33:37 am »

There's only one such line in the file. You can still set, edit, and remove breakpoints and bookmarks by right-clicking the margin.

Isn't being able to set breakpoints easily (1 click) more important than visual feedback when highlighting a line?  I think it's a scintilla shortcoming/bug in any case.

We're talking about two different things. The line I mentioned doesn't have anything to do with what the cursor looks like. I was responding to Takeshi's mentioned (linked) feature request.
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
takeshi miya
Lives here!
****
Offline Offline

Posts: 1487


« Reply #6 on: December 22, 2005, 03:00:50 am »

Yeah, and I can say GREAT! Shocked

In response to
Isn't being able to set breakpoints easily (1 click) more important than visual feedback when highlighting a line?
I say no, and no, and no again. But it's a matter of taste, so it should be a user-setting (which the default value remains to be discussed).
I can hear ActionsManager somewhere Smiley
Logged
mandrav
Project Leader
Administrator
Lives here!
*****
Offline Offline

Posts: 4269



WWW
« Reply #7 on: December 22, 2005, 11:52:59 am »

About the right-pointing cursor, it's working now. It is included in the standard wxWidgets resources which were not linked in the application. A fixed resource file is committed now.
Logged

Be patient!
This bug will be fixed soon...
takeshi miya
Lives here!
****
Offline Offline

Posts: 1487


« Reply #8 on: December 22, 2005, 06:30:55 pm »

More great! Cheesy

In the left-margin think the defaults should be:
Left-click: Select the line.
Mid-click: Toggles breakpoint
Right-click: Shows the menu "Add breakpoint/Add bookmark".

And make that configurable in the case the users desires to change.
Logged
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #9 on: December 22, 2005, 07:08:26 pm »

About the right-pointing cursor, it's working now. It is included in the standard wxWidgets resources which were not linked in the application. A fixed resource file is committed now.

Haha well dang, I wasn't expecting to wake up to a fix.

Thanks man Smiley
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
takeshi miya
Lives here!
****
Offline Offline

Posts: 1487


« Reply #10 on: December 22, 2005, 09:03:42 pm »

About the right-pointing cursor, it's working now. It is included in the standard wxWidgets resources which were not linked in the application. A fixed resource file is committed now.

Don't close this bug yet. A rather cosmetical, but strange thing: The reverse-cursor in the margin and build-log aren't the same. The one in margin is ugly (and non-native).

The included in wx (rightarr.cur) is ugly and is the one present in the right margin.
The one in the build-log is somehow the native one used in windows.

How the build-log manages to do that?
Logged
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #11 on: December 22, 2005, 09:18:59 pm »

Yikes. Ugly cursor alert! Windows users:

Extract this and place rightarr.cur in wxWidgets-2.6.2\include\wx\msw, then delete CodeBlocks\src\.objs\2.6\src\resources\resources.o, and rebuild Code::Blocks. You don't have to rebuild wxWidgets.

[attachment deleted by admin]
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
280Z28
Regular
***
Offline Offline

Posts: 397

*insert unicode here*


« Reply #12 on: December 22, 2005, 09:19:50 pm »

About the right-pointing cursor, it's working now. It is included in the standard wxWidgets resources which were not linked in the application. A fixed resource file is committed now.

Don't close this bug yet. A rather cosmetical, but strange thing: The reverse-cursor in the margin and build-log aren't the same. The one in margin is ugly (and non-native).

The included in wx (rightarr.cur) is ugly and is the one present in the right margin.
The one in the build-log is somehow the native one used in windows.

How the build-log manages to do that?

Haha I didn't even see this post before I fixed the cursor and posted it. I took one look at it and was like oooh heck no.  :lol:
Logged

78 280Z, "a few bolt-ons" - 12.71@109.04
99 Trans Am, "Daily Driver" - 525rwhp/475rwtq
 Check out The Sam Zone :cool:
mandrav
Project Leader
Administrator
Lives here!
*****
Offline Offline

Posts: 4269



WWW
« Reply #13 on: December 22, 2005, 09:27:38 pm »

Don't close this bug yet. A rather cosmetical, but strange thing: The reverse-cursor in the margin and build-log aren't the same. The one in margin is ugly (and non-native).

I haven't closed it yet, but I will.
The cursor in the text box in the logs is provided by windows (actually by the native windows control used). The cursor in the editor though, is handled by wxScintilla (and therefore by wxWidgets) which, as we all know, is not a standard windows control.
So, if you don't like the cursor's appearence please post a bug report in the wxScintilla's or wxWidget's forums. We 've got enough important work to do here than worry about such subtleties...  :roll:
Logged

Be patient!
This bug will be fixed soon...
Pages: [1]   Go Up
  Send this topic  |  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!