The metadata from the .iface is already compiled into SciTE in the 
IFaceTable
class, so when user.shortcuts is processed, the command values "could" be
looked up by name using that table.  Pseudocode:

if constantName starts with "SCI_":
  funcIndex = FindFunctionByConstantName
  if good funcIndex:
    funcDesc = IFaceTable::functions[funcIndex]
    if both paramTypes are iface_void:
      constantValue = funcDesc.value

Using IFaceTable also makes it safer, since you can check the function 
parameters and make sure no arguments are expected.

Bruce


"Philippe Lhoste" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> Frank Wunderlich wrote:
>>> Von: DurumDara <[EMAIL PROTECTED]>
>>> But I have the problem that I don't know the IDM code of the line
>>> deletion to redirect from Ctrl+Sh+L to Ctrl+Y.
>>> Can anyone help me ?
>>
>> can you read?
>> download the source-package...
>>
>>> (you can look in source-file win32\SciteRes.rc for the constants used by
>>> user.shortcuts)
>
> Even with Web access to CSV, I find this quite inconvenient.
> I mean, I have the source handy, but for a simple user, having to download
> the whole source package to get a RC file of Scintilla.iface isn't very
> practical.
> Perhaps the content of these files (up-to-date!) should be available on
> line.
>
>> DurumDara, 20.04.2006 15:26:
>>> Sorry for that. I missing some lines, because my machine has been
>>> crashed...
>>>
>>> But when I download this rc, I not found any IDM tag...
>>> I search for: "line" "+L" "Shift+" "Ctrl+"...
>>>
>>> So I don't found answer to "Ctrl+Shift+L" replacing (to Ctrl+Y)...
>>>
>>> Thanx for it:
>>> dd
>>
>> sorry, i thought this has an menu-item.
>> i've searched the source and found the following:
>>
>> scintilla\src\KeyMap.cxx:140
>>
>>   {'L', SCI_CSHIFT, SCI_LINEDELETE},
>>
>> this should be the definition, but i don't know how to set change the
>> key-binding with properties, because this is not an menuitem.
>> you can change the source and recompile, i think there's no other way.
>
> user.shortcuts=\
> Ctrl+Y|2338|\
> Ctrl+PageUp|IDM_PREVFILE|\
> Ctrl+PageDown|IDM_NEXTFILE|\
> Ctrl+Alt+V|IDM_PASTEANDDOWN|\
> Ctrl+Shift+C|IDM_EOL_CONVERT|\
> Ctrl+Shift+Down|IDM_WRAP|\
> Ctrl+Shift+Insert|IDM_LINENUMBERMARGIN|
>
> (I have put after my current definitions, as practical examples...)
>
> From Scintilla.iface:
> # Delete the line containing the caret.
> fun void LineDelete=2338(,)
>
> Unlike most other settings, after changing this property, you have to
> restart SciTE.
>
> -- 
> Philippe Lhoste
> --  (near) Paris -- France
> --  http://Phi.Lho.free.fr
> --  --  --  --  --  --  --  --  --  --  --  --  --  -- 




_______________________________________________
Scite-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scite-interest

Reply via email to