I don't know if you're familiar with Slick C and macro programming but here's a rough outline of what you might have to do. In slick help, you'll need to look at "macro functions by category" and various topics such as file list box, list box, edit control functions, file functions and string functions. You can also search the slick macros folder for examples of the use of a file list box etc.
This should get the workspace directory but I haven't tried it.
_str wd = _GetWorkspaceDir() ;
You can probably use a file list box to present a list of filenames. I've never used a file list box so I don't know how it works but I'm guessing you could do
my_listbox._flfilename('*.sql', wd :+ '/Tables/');
then you would use the on_change event to get the name of a selected file
my_listbox.on_change(int reason)
{
if(reason == CHANGE_SELECTED)
{
// maybe call _lbget_seltext - see list box methods in the help
}
}
If the file list box doesn't work, you can use _sellist_form to present a list of choices - see _sellist_form in the help and examples.e in the slick macro folder. You probably have to use the file_match function to get a list of files - see this thread
http://community.slickedit.com/index.php?topic=847.msg3680#msg3680Having got the name of a file you can use the parse statement to get the name of the table - see parse in the help.
To read the actual .sql file, you can use _open_temp_view to get the file into a hidden buffer, then use editor control functions like top() and get_line(), get_text(), or cur_word() to read the text from the file and maybe the parse statement to parse it.
To present a drop-down "intellisense" list, maybe look at _auto_complete_list_form and how it's used in auto_complete.e - in sysobjs.e you can see it's declared as a borderless form.
Graeme