My current workflow is starting with loading a tooltable. If a tooltable is already loaded it would be nice to have the dropdown menu for tool selection in the create-job-dialog.
One step beyond would be the preselection of a tooltable. Since different jobs can use different machines and each machine has its own tooltable it would be sensible to have the tooltable associated with the machine. A good place for this is the postprocessor: it could set a special variable pointing to the toolset.xml, like
TOOLSET = '/home/user/freecad/toolset_maho.xml'
A new job would then start with selecting the machine, using - if it exists - as default the previous selection. That could simplify the tooltable selection window because we don't need the left list of currently selected tools any more.
To clarify; the toollibrary is the globally saved set of tools in the user preferences. A tooltable is a datastructure holding a list of tools. The job always has a tooltable associated with it but that table could be empty. The tool library manager dialog allows creation/import/export of tools and copying them between the library and jobs. I think you will always need this capability because, from time to time, you will need to load an unusual or non-standard tool into a job tooltable.
You're telling me that the first thing you do is copy tools from the library to your jobs tooltable. That makes sense and is a logical thing to do but I'm actually asking about how I should handle the situation BEFORE that point. When a user first clicks the 'new job' button, and the job is being created and added to the tree, I have to either add tools to the to tooltable or leave it empty. If it's empty and a new user immediately proceeds to create a profile operation, I still have to do something. Options include:
1) fail with an error. Not very user friendly.
2) fail silently. Really not friendly
3) Make the operations work, even without a tool using default values hard-coded. Not transparent or intuitive.
4) refuse to create operations if the job tooltable is empty. Would it be clear to the user why they can't create an operation?
I opted to pre-load a default tool during creation and use that. This lets a user get to an actual path with minimal configuration and see what a valid configuration looks like. If they delete the default tool and the path breaks, well, at least they learned something
In my experience, there isn't always a 1:1 relationship between a machine and a tooltable. Some shops have several sets of tools pre-configured depending on the type of job to run. That's why I'd like to be able to organize the tools in the library into sets/groups and copy whole sets to a job at once. Having the selection of a post-processor trigger the pre-loading of a set of tools would be also be nice. Let's take a look at that. It might have to wait until we have sets or groups of tools in the library though.