Hi,

On 2010.05.04 00:07, Pritpal Bedi wrote:
Thanks, for column blocks! Do you have plans for doing blocks persistent
and implementing line blocks? :)
Can you please explain a little about your idea of persistency and line
blocks.

Persistent blocks remains marked after you move a cursor to another place. You can mark block. Move cursor to another place and copy (or move) block here without intermediate storage to clipboard. You can have marked blocks in various open files and do inter-window block copy/move of blocks.

Line blocks marks whole lines, so, you do not need to move cursor to the first column.

MultiEdit has tree types of blocks: Line, Stream, Column. It also supports persistent blocks.

Let's say I need to change code:
   CASE 'a':
      ::doA()
      EXIT
      ::doB()
      EXIT
to:
   CASE 'a':
      ::doA()
      EXIT
   CASE 'b':
      ::doB()
      EXIT
and my cursor is at letter 'a':

In MultiEdit I would do:
  F7 (start line block mark)
  F7 (end line block mark) (current line remains marked)
  Down
  Down
  Down
  F8 (copy block)
  b
  Del

Using stream blocks:
  Home
  Shift + Down
  Ctrl + C
  Down
  Down
  Ctrl + V
  End
  Left
  Left
  Left (position restored to letter 'a')
  b
  Del

I think MultiEdit has free 30-days evaluation. I really like functionality of this editor. Default functional keys mappings can seem unusual, but later you find it comfortable.


2) I'm trying to use Setup->Keyboard mappings, but unable to find a way
to assign key for many toolbar buttons. I want to add key for "Toggle
selection mode" button.
Ok, it is also a candidate for public methods API.
It will and some others will be committed today.

I've managed to bind keystoke to script:
  ::execAction("SelectionMode")
Though I expect a litte different logic for block marking. It would be nice to have a separate keys, to start different type marking. But I can live with current behaviour.


3) I want to be able to move cursor beyond end of line, i.e., I do not
want to jump cursor to first column on empty lines and I do not want to
enter a lot of spaces for indented source code lines. END key could be
used, to position cursor at the exact end of line.

This is a very tough request. Only for this reason, block copy/paste
eluded me so long. I still do not know how to handle it unless QDocument
is also sub-classed. This is on my todo list but am still at loss how to.
Probably I have to spend more time on this feature.

Thank, you for your efforts. After I look to C++ code, magic QT signal/slot binding, moc_*.cpp files, I start to think I know nothing about C++. Plain C is much more clear to me.


This can be achived right now:
Name: Close
Key:   F4
Ctrl    Checked
Script:  ::close() [ Or double click on Close() 'Public methods' list. ]

Click on <New>

To test:
Click inside an editing instance; press Ctrl+F4
You are done with.

But this does not disables ESC action. Sometimes I press extra ESC then closing a few level modal dialogs, etc. And this ESC closes open files.


Thanks, regards,
Mindaugas
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to