Community
    • Login

    How to get Vertical Edge Settings programmatically?

    Scheduled Pinned Locked Moved Notepad++ & Plugin Development
    13 Posts 3 Posters 618 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alan KilbornA
      Alan Kilborn @Derek Brown
      last edited by

      @Derek-Brown said in How to get Vertical Edge Settings programmatically?:

      are the NP++ settings exposed to plugins in a useful way?

      I’m not sure about that but someone else will know.
      Even if they are exposed, I would think that this new multiple vertical edge stuff is too new to be supported yet in that way.

      May I ask what you’re really wanting to do?
      I use the single vertical edge in my setup, but I have Notepad++'s management of it completely turned off. I’m doing what I do via Pythonscript.
      I would think you could do something similar, but without knowing anything further I can’t say for sure.

      1 Reply Last reply Reply Quote 0
      • Derek BrownD
        Derek Brown
        last edited by

        My CommentWrap plugin reads the vertical edge setting by default to decide at what column to wrap comments. This column can also be manually set, so it’s not a huge problem that it’s broken right now, but I would like to restore the functionality.

        Alan KilbornA 1 Reply Last reply Reply Quote 1
        • Alan KilbornA
          Alan Kilborn @Derek Brown
          last edited by

          @Derek-Brown

          Ah, okay then.
          What I do won’t help that situation.

          It does seem like a Scintilla oversight to allow setting of multiple edges without having a readback mechanism. Perhaps you want to have a look at the Scintilla issues list, maybe open an issue if there isn’t one.

          But, sadly, I suppose I am the one that broke your plugin.
          I’m sorry.
          :-(

          EkopalypseE 1 Reply Last reply Reply Quote 0
          • EkopalypseE
            Ekopalypse @Alan Kilborn
            last edited by

            Yes, there doesn’t seem to be a call which is able to get every column
            position set but the call itself seems to report the position from the first column.

            bfe64559-5ff0-415f-8e6c-0c3d8c2b03b6-image.png

            Maybe @donho might consider implementing a new message
            NPPM_GETEDGECOLUMNS and returning an array of ints?

            1 Reply Last reply Reply Quote 0
            • Derek BrownD
              Derek Brown
              last edited by Derek Brown

              How is that call implemented? When I call in C++:

              SendMessage(scintillaHwnd, SCI_GETEDGECOLUMN, 0, 0)
              

              With edges set at 80 and 120 I get back 0.

              EkopalypseE 1 Reply Last reply Reply Quote 1
              • EkopalypseE
                Ekopalypse
                last edited by Ekopalypse

                hmm, strange - basically doing the same as you do

                sci.call = <SciFnDirect>SendMessageW(hwnd, SCI_GETDIRECTFUNCTION, 0, 0)
                
                    cpdef ssize_t getEdgeColumn(self):
                        ''' Retrieve the column number which text should be kept within. '''
                        return <ssize_t>self.call(<sptr_t>self.sci_pointer, SCI_GETEDGECOLUMN, 0, 0)
                

                EDIT: except that I’m using the direct function

                1 Reply Last reply Reply Quote 0
                • EkopalypseE
                  Ekopalypse @Derek Brown
                  last edited by

                  @Derek-Brown

                  just tried it with SendMessage and I do get back 80

                  a97b4b49-972f-4867-bc79-a0c19ce5ab1b-image.png

                  1 Reply Last reply Reply Quote 0
                  • EkopalypseE
                    Ekopalypse
                    last edited by Ekopalypse

                    @Derek-Brown
                    WAIT - there seems to be something wrong with MY code.
                    Because I set a different value (87) and I still do get back 80.

                    1 Reply Last reply Reply Quote 0
                    • EkopalypseE
                      Ekopalypse
                      last edited by

                      No, nothing wrong with my code but I guess there is another level of potential confusion.
                      It reports back what is configured in Number of columns

                      d318d867-d3de-4ed2-9371-a0da25f0e1d0-image.png

                      1 Reply Last reply Reply Quote 0
                      • EkopalypseE
                        Ekopalypse
                        last edited by

                        @Derek-Brown @Alan-Kilborn

                        ok - sorry for the noise. I didn’t use the latest 7.8.6 iteration.
                        I was still running a RC version. In the final version it does what @Derek-Brown said.

                        cf91dd3a-0ff5-49df-a6a6-88df99e7d8e6-image.png

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors