HaikuArchives / Paladin

Paladin is an open source integrated development environment (IDE) for Haiku OS
MIT License
64 stars 20 forks source link

Add hey scripting support to core functionality #237

Open adamfowleruk opened 5 years ago

adamfowleruk commented 5 years ago

Required in order to have a fully interactive tutorial plugin.

Enable all menu items in project window for hey Enable all buttons in start window for hey Enable add new files window and inputs for hey Enable double click on project file list (open file) for hey

pulkomandy commented 5 years ago

There is nothing special to do to invoke buttons and menus. BWindow and BControl already do everything you need.

What you can do as an application developer is add more high level endpoints for them, so that one could do something like (approximations, but the commands should be pretty close to this):

hey Paladin create project with name 'Hello world'
hey Paladin add hello.cpp to project with name 'Hello world'
hey Paladin open hello.cpp from project with name 'Hello world'

Without any specific effort it woud be more like:

hey Paladin do button 0 of window 0
hey Paladin do menu 4 of menu 2 of window 0

Or at best:

hey Paladin do button 'newproject' of window 'welcome'
hey Paladin do menu 'addfile' of menu 'newproject' of window 'hello.pld'
adamfowleruk commented 5 years ago

Yeah this is exactly what I'm thinking about. I need to go through the code and see what is used. There are some funny custom controls in a lot of places where this wouldn't work by default.