Menu

HexEditor problem in new version of Notepad++

2008-03-27
2012-11-14
  • Rachel Mant

    Rachel Mant - 2008-03-27

    I really like Notepad++, and I use it LOADS, I even went as far as installing the notepad replacement "notepad++ launcher".
    I was dismayed to find that my newly upgraded notepad++ did not start up, and after reading that I'd need to disable the much-used HexEditor, I desided to get the source and sort it out, if anybody would like to contact me (the project admin prehaps?) about my fix (which does work, and I have tested) then please e-mail me on richard@richardmant.com

     
    • Nobody/Anonymous

      I think its HexEditor messing around with window data which Notepad++ uses :)
      If he also fixed SetWindowLong to SetWindowLongW on NT I think Don and Jens would be interested.

      You can submit patches to the tracker of npp-plugins.

      -Harry

       
    • Rachel Mant

      Rachel Mant - 2008-03-28

      HexEditor does not mess with window data in Notepad++ in the place if initially fails. It fails in the startup routines.

      Reporting what I found here is not simple as my fix(es) strech accross 8 files and have more than 75 lines of C++ code changes.

       
    • Rachel Mant

      Rachel Mant - 2008-03-28

      I've uploaded the modified source, and the compiled binary for Win32 to my site at http://static.richardmant.com/Notepad++/HexEditor/
      I have also put the original source up there so people can see how and why I did things, and how I fixed the plugin.

       
      • Don HO

        Don HO - 2008-03-29

        Hmm... Interesting.

        Jens, could you check the modification ?
        If you're ok with that, then I will provide the fixed HexEditor plugin binary for testing.

        In the case that the bug is really fixed, and there's no regression, I'll reintegrate HexEditor into Notepad++.
        Next Notepad++ release is in 1 week.

        Don

         
        • Rachel Mant

          Rachel Mant - 2008-03-29

          Ach, Posted my reply in the wrong bit. see the post below.

           
    • Rachel Mant

      Rachel Mant - 2008-03-29

      I'm fine with that.

      Please do test it. Seems to be very stable for me (I am currently using it) and I've done a lot of HexEditing and Browsing with it since I patched it.

       
    • Mark Baines

      Mark Baines - 2008-03-29

      I don't suppose you could allow the user to change the font and font size while you're at it :-))

      Mark B

       
      • Rachel Mant

        Rachel Mant - 2008-04-02

        I have been working on doing this feature, and have sofar been successful in getting the font size to change via a selection in the font dialogue (ChooseFont()). I have also writen structures and the ini-File calls to save and read this info.

        I will update the link I have already posted to my site with a version that has this feature in when it is complete.

         
      • Rachel Mant

        Rachel Mant - 2008-03-29

        I might be able to, but I don't yet know the structure for a plugin and how it interacts with NP++.
        I fixed this by getting rid of all the obvious bugs and cleaning up the source so there were no more warnings or errors when I compiled using VC++2005.

         
    • Michael Hutchinson

      Richard,

      thanks for this, I was missing this and now it is back!

      Appreciated.

       
    • Mark Baines

      Mark Baines - 2008-04-03

      Thanks Richard. A great start - I do appreciate this.

      I'm sure you're aware of these issues, but just in case...
      On Win2K SP4 system.

      1. Window doesn't refresh when font editor used, just the top line only. In fact, no refresh on changing from, for instance, 16-bit to 8-bit as well. Hitting the toolbar icon twice cures that.
      2. Can't change background colour?
      3. Column widths do resize themselves on font size change to an extent but each column can be made smaller. If I do this manually, the new sizes are not remembered between sessions.
      4. Thanks for "Capital letters mode", but column headers should also reflect that.
      5. I can't see the cursor. Clicking on a hex value or the dump doesn't highlight the characters. Only if I click and drag are they highlighted. As a consequence I've not a clue where I am and what I'm editing.
      6. There is a curious grey strip a few pixels deep under the column headers that only exists where the characters underneath are displayed, so that it isn't there on the far left (until the addresses numbers are shown) and far right (after the dump).

      all the best

      Mark B

       
      • Rachel Mant

        Rachel Mant - 2008-04-03

        Thank you for the feedback, Mark.

        In the version of the plugin I have just uploaded to my site (under the same place the other was in) I have fixed the first thing on your list, and you can now see the cursor.

        Can you create a screenshot of this phenominum I don't get that you describe in #6 - the grey strip.

        Richard.

         
        • Mark Baines

          Mark Baines - 2008-04-04

          Richard

          Window redraw works fine after font change and I can now see the cursor :-)

          In Font selection dialog, the "sample" is not shown any more. It was on the last version.

          The grey bar is indeed a redraw problem and is actually there in the original version, so not your problem :-) I just hadn't noticed it when the background was white.
          It can be seen here http://www.linnhe2.free-online.co.uk/misc/grey%20bar.jpg

          Not a great problem just cosmetic.

          all the best and thanks

          Mark B

           
          • Rachel Mant

            Rachel Mant - 2008-04-05

            Right, just got a new verson of the pluggin onto my site, Mark.
            I finished programming the final button and crinkling out some of the finer details of the font editing box such as the setup so that the font size and name are selected when you launch the box - wrong type of *_SETCURSEL message got sent.

            Other than that, I think it is now a final verson of the feature and it just needs testing now.

            Richard

             
          • Rachel Mant

            Rachel Mant - 2008-04-04

            OK, new verson of the plugin on the same address as last time,

            I descided that rather than use the Windows Font Chooser, why not seperate and re-use the design and code of the NotePad++ Style Configurator, so that is exactly what I have done. I hope that what is done of it works for you design wise. I have tested it, and shaken some interesting bugs out of the code, I have also still to do the Selected Style stuff, so please be patient while I finish that off. other than that, you can now change all aspects of the font and window colours.

             
        • Jens Lorenz

          Jens Lorenz - 2008-04-04

          This is a redraw problem of the background. It happens not often. Please keep in mind that you don't need to change the font size.

          BTW: "Capital Letter Mode" isn't new. This feature still exists since a long time.

          @Richard: Before you do a lot of new stuff, I have to merge you changes to my code, because I fixed a lot of reported bugs (I think 6 before my system were infected by a virus).
          I have to set up my system new, but at the moment I am very busy. Maybe I can do this at this weekend. If you want to be able to change the font/background color, I can help you to find out the positions were you can change the code.

          @Mark B: To keep the column size between sessions, I think this is to difficult to implement. I agree with you that it make sense to decrease the size generally within the code.

          Best Regards
          Jens

           
          • Mark Baines

            Mark Baines - 2008-04-04

            Thanks for comments Jens.

            Firstly, I apologise for thinking Richard was responsible for "Capital Letter Mode". I hadn't noticed it before. Thanks for that Jens. It would be nice if the column headers reflected that setting, at the moment letters are in lower case.

            I would love to have 16-bit 16 column editing mode but it won't all fit in my normal NPP window width. That's my main reason for changing the font and font size AND squeezing the columns closer together. Font sizes do make a big difference to how many lines I can see, especially in my default fixed-width font were it's 8 point is smaller than others. At the moment, the blank space between the columns of hex numbers is bigger than it needs to be and to keep changing them is a nuisance. Not every column size has to be stored, of course, there are only 3, Addresses, Data and Dump.

            I don't get a redraw when switching modes, say between 8-bit and 16-bit.

            all the best

            Mark B

             
          • Rachel Mant

            Rachel Mant - 2008-04-04

            I have been making sure that the code on my site is untouched, the new code I am adding is in the verson I keep on my home computer. The only file on my site that keeps being updated by my new changes is the one in the folder named "With font changer".

            The code I have edited is comented on in the copy I have so when you relese your code changes it would be a simple job for me to merge my new feature into the improved code.

             
    • Mark Baines

      Mark Baines - 2008-04-05

      That's great Richard, a consistent style across the program.
      No problems here.

      And nice to be able to change all four colours. Well done!

      Mark B

       
    • Rachel Mant

      Rachel Mant - 2008-04-05

      Ok, I have just released the source for the new feature I coded up that Mark requested,
      Address: http://static.richardmant.com/Notepad++/HexEditor/With font changer/
      the .zip archive is the source for anybody intersted.

      Fun HexEditing everyone! and best wishes

      Richard

       
    • Nobody/Anonymous

      Why not simply report here what you found??

       
    • Jens Lorenz

      Jens Lorenz - 2008-03-31

      I will check this until I have reistalled my complete system.

      Best Regards
      Jens

       
    • Mark Baines

      Mark Baines - 2008-04-02

      Thanks Richard. I appreciate that.

      Mark B

       
      • Rachel Mant

        Rachel Mant - 2008-04-02

        Ok, I've got a perliminary version of the plugin built that also support font changes happening and even font colour.

        It's still incomplete and some of the drawing functions still don't do what I want them to, but feel free to test it.