action_steps

class camelot.view.action_steps.ChangeObject(obj, admin=None)

Pop up a form for the user to change an object

Parameters:
  • obj – the object to change
  • admin – an instance of an admin class to use to edit the object, None if the default is to be taken
get_object()

Use this method to get access to the object to change in unit tests

Returns:the object to change
class camelot.view.action_steps.ChangeObjects(objects, admin)

Pop up a list for the user to change objects

Parameters:
  • objects – a list of objects to change
  • admin – an instance of an admin class to use to edit the objects.
get_objects()

Use this method to get access to the objects to change in unit tests

Returns:the object to change
class camelot.view.action_steps.CreateObject(obj)

Inform the GUI that obj was created.

Parameters:obj – the object that was created
class camelot.view.action_steps.DeleteObject(obj)

Inform the GUI that obj is going to be deleted.

Parameters:obj – the object that is going to be deleted
class camelot.view.action_steps.FlushSession(session)

Flushes the session and informs the GUI about the changes.

Parameters:session – an instance of sqlalchemy.orm.Session
class camelot.view.action_steps.OpenFile(path)

Open a file with the preferred application from the user. The absolute path is preferred, as this is most likely to work when running from an egg and in all kinds of setups.

Parameters:path – the absolute path to the file to open

The yield statement will return True if the file was opend successfull.

classmethod create_temporary_file(suffix)

Create a temporary filename that can be used to write to, and open later on.

Parameters:suffix – the suffix of the file to create
Returns:the filename of the temporary file
get_path()
Returns:the path to the file that will be opened, use this method

to verify the content of the file in unit tests

class camelot.view.action_steps.OpenFormView(objects, admin)

Open the form view for a list of objects, in a non blocking way :param objects: the list of objects to display in the form view :param admin: the admin class to use to display the form

class camelot.view.action_steps.OpenJinjaTemplate(environment, template, suffix='.txt', context={})

Render a jinja template into a temporary file and open that file with the prefered application of the user.

Parameters:
  • environment – a jinja2.Environment object to be used to load templates from.
  • template – the name of the template as it can be fetched from the Jinja environment.
  • suffix – the suffix of the temporary file to create, this will determine the application used to open the file.
  • context – a dictionary with objects to be used when rendering the template
class camelot.view.action_steps.OpenStream(stream, suffix='.txt')

Write a stream to a temporary file and open that file with the preferred application of the user.

Parameters:
  • stream – the stream to write to a file
  • suffix – the suffix of the temporary file
class camelot.view.action_steps.PrintHtml(html)

Display a print preview dialog box for an html string.

Parameters:html – a string containing the html to render in the print preview.

the rendering of the html can be customised using the same attributes as those of the PrintPreview class.

class camelot.view.action_steps.PrintJinjaTemplate(template, context={}, environment=<camelot.core.templates.environment>)

Render a jinja template into a print preview dialog.

Parameters:
  • template – the name of the template as it can be fetched from the Jinja environment.
  • context – a dictionary with objects to be used when rendering the template
  • environment – a jinja2.Environment object to be used to load templates from. This defaults to the environment object available in camelot.core.templates
class camelot.view.action_steps.PrintPreview(document)

Display a print preview dialog box.

Parameters:document – an instance of QtGui.QTextDocument or QtWebKit.QWebView that has a print_() method. The thread affinity of this object will be changed to be able to use it in the GUI.

the print preview can be customised using these attributes :

page_size

the page size, by default QtGui.QPrinter.A4 is used

page_orientation

the page orientation, by default QtGui.QPrinter.Portrait is used.

../../../_images/simple_report1.png
render()

create the print preview widget. this method is used to unit test the action step.

class camelot.view.action_steps.Refresh

Refresh all the open screens on the desktop, this will reload queries from the database

class camelot.view.action_steps.SelectFile(file_name_filter='')

Select one or more files to open or to process.

Parameters:file_name_filter – Filter on the names of the files that can be selected, such as ‘All files (*)’. See QtGui.QFileDialog for more documentation.
single

defaults to True, set to False if selection of multiple files is allowed

existing

defaults to True, set to False if non existing files are allowed (to save something)

The yield statement of SelectFile returns a list of selected file names. This list has only one element when single is set to True. Raises a camelot.core.exception.CancelRequest when no file was selected.

../../../_images/select_file.png
render()

create the file dialog widget. this method is used to unit test the action step.

class camelot.view.action_steps.ShowChart(chart)

Show a full screen chart.

Parameters:chart – a camelot.core.container.FigureContainer or camelot.core.container.AxesContainer
class camelot.view.action_steps.ShowPixmap(pixmap)

Show a full screen pixmap

Parameters:pixmap – a camelot.view.art.Pixmap object
class camelot.view.action_steps.UpdateObject(obj)

Inform the GUI that obj has changed.

Parameters:obj – the object that has changed
class camelot.view.action_steps.UpdateProgress(value=0, maximum=0, text=None, detail=None, clear_details=False)

Inform the user about the progress the application is making while executing an action. This ActionStep is not blocking. So it can be used inside transactions and will result in a minimum of delay when yielded. Each time an object is yielded, the progress dialog will be updated.

../../../_images/progress_dialog.png
Parameters:
  • value – the current step
  • maximum – the maximum number of steps that will be executed. set it to 0 to display a busy indicator instead of a progres bar
  • text – the text to be displayed inside the progres bar
  • detail – the text to be displayed below the progres bar, this text is appended to the text already there
  • clear_details – clear the details text already there before putting the new detail text.
gui_run(gui_context)

This method will update the progress dialog, if such dialog exists within the GuiContext

Parameters:gui_context – a camelot.admin.action.GuiContext instance

Previous topic

action_runner

Next topic

change_object

This Page


Comments
blog comments powered by Disqus