USER LIST On Scintilla Object Plugin

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hi

I want to know how you can Create a User list On Scintilla Object Plugin

Such as this image :

Imagen



how you can Create that by Scintilla.SendMessage ? Sorry I do not know the correct parameters :hypno:
  • Scintilla Verison : 1.1.0.0 Released At : 09/09/2010

Not so easy thing but possible.

You can send message SCI_AUTOCSHOW (int lenght_entered, string elements_of_list) elements are separated by a blank space " "

You should keep a control of input entered in editor to display the list sending this message when you want to show the autocomplete list.
SCI_AUTOCSHOW(int lenEntered, const char *list)
This message causes a list to be displayed. lenEntered is the number of characters of the word already entered and list is the list of words separated by separator characters. The initial separator character is a space but this can be set or got with SCI_AUTOCSETSEPARATOR and SCI_AUTOCGETSEPARATOR.

With default settings, the list of words should be in sorted order. If set to ignore case mode with SCI_AUTOCSETIGNORECASE, then strings are matched after being converted to upper case. One result of this is that the list should be sorted with the punctuation characters '[', '\', ']', '^', '_', and '`' sorted after letters. Alternative handling of list order may be specified with SCI_AUTOCSETORDER

SCI_AUTOCCANCEL
This message cancels any displayed autocompletion list. When in autocompletion mode, the list should disappear when the user types a character that can not be part of the autocompletion, such as '.', '(' or '[' when typing an identifier. A set of characters that will cancel autocompletion can be specified with SCI_AUTOCSTOPS.
In addition you can highlight words using SCI_SETKEYWORDS (int color_0_to_8, string words) separated by blank space " " so they will be highlited in other colors dependir your lexer and color used.

Pabloko i know that but i want to Show the Icon With the text :hypno:

help me with an Example Please :SOS:

My problem with the show icons Beside text :hypno:

well, ams editor isn't scintilla, its an old editor called codemax codesense (version 2.1) and its works shightly different to scintilla, that have this minimal interface and the use of widgets but im not sure if theyre usable with that plugin

OK I will try to inquire about this problem with reteset Since the plugin is programmed


but look at this Url http://www.scintilla.org/Icons.html and this quote :
from this Ulr http://www.scintilla.org/ScintillaDoc.html#UserLists escribió: SCI_REGISTERIMAGE(int type, const char *xpmData)
SCI_REGISTERRGBAIMAGE(int type, const char *pixels)
SCI_CLEARREGISTEREDIMAGES

SCI_AUTOCSETTYPESEPARATOR(char separatorCharacter)
SCI_AUTOCGETTYPESEPARATOR
Autocompletion list items may display an image as well as text. Each image is first registered with an integer type. Then this integer is included in the text of the list separated by a '?' from the text. For example, "fclose?2 fopen" displays image 2 before the string "fclose" and no image before "fopen". The images are in either the XPM format (SCI_REGISTERIMAGE) or RGBA format (SCI_REGISTERRGBAIMAGE). For SCI_REGISTERRGBAIMAGE the width and height must previously been set with the SCI_RGBAIMAGESETWIDTH and SCI_RGBAIMAGESETHEIGHT messages. The set of registered images can be cleared with SCI_CLEARREGISTEREDIMAGES and the '?' separator changed with SCI_AUTOCSETTYPESEPARATOR.

SCI_AUTOCSETMAXHEIGHT(int rowCount)
SCI_AUTOCGETMAXHEIGHT
Get or set the maximum number of rows that will be visible in an autocompletion list. If there are more rows in the list, then a vertical scrollbar is shown. The default is 5.

SCI_AUTOCSETMAXWIDTH(int characterCount)
SCI_AUTOCGETMAXWIDTH
Get or set the maximum width of an autocompletion list expressed as the number of characters in the longest item that will be totally visible. If zero (the default) then the list's width is calculated to fit the item with the most characters. Any items that cannot be fully displayed within the available width are indicated by the presence of ellipsis.

being seriously, i will try to wrap it with scintillanet because this method will be a pain.

if you need an approach to this with only ams i suggest you to use a listicon object and program the user input in the scintilla box. i know you can get x and y coords of input to move the listicon and show elements.

objects plugins made for ams come with a minimal interface with real functionality, i think it dont deserve that lots of hours triying

This is a very good idea

Thank you, I will work this idea

Pablo ;)