class documentation

class InsertedObjectType(object): (source)

Known subclasses: zim.gui.insertedobjects.UnknownInsertedImageObject, zim.gui.insertedobjects.UnknownInsertedObject, zim.plugins.InsertedObjectTypeExtension

View In Hierarchy

Base class for defining "objects" that can be inserted in a wiki page

This class is called "InsertedObjectType" instead of "InsertedObject" because it does *not* represent a single inserted object, but defines a type of object of which many instances can occur. The instances themselves are represented by a series of tokens for the parser and a model plus a widget for the user interface.

Note: if you are looking for how to define a new object type from a plugin, please see InsertedObjectTypeExtension in zim.plugins. Base classes for widgets can be found in zim.gui.insertedobjects.

Method __init__ Undocumented
Method create_widget Return a Gtk widget for the given model @param model: an object created with model_from_data() @returns: a Gtk widget object derived from InsertedObjectWidget
Method data_from_model No summary
Method format Format the object using a specific output format Intended to improve rendering of the object on exporting.
Method model_from_data Returns a model for the object
Method new_model_interactive Create a new object model interactively Interactive means that we can use e.g. a dialog to prompt for input. The default behavior is to use new_object().
Method new_object Create a new empty object @returns: a 2-tuple (attrib, data)
Method parse_attrib Convenience method to enforce the supported attributes and their types. @returns: a ConfigDict using the object_attr dict as definition
Class Variable is_inline Undocumented
Class Variable label Undocumented
Class Variable name Undocumented
Class Variable verb_icon Undocumented
Instance Variable object_attr Undocumented
Method _data_from_model_wrapper Undocumented
Method _format_wrapper Undocumented
Method _model_from_data_wrapper Undocumented
def __init__(self): (source)

Undocumented

def data_from_model(self, model): (source)
Returns the object data for a model object This method is used to serialize the model object back into a form that can be handled when parsing wiki content.
Parameters
modelan object created with model_from_data()
Returns
a 2-tuple (attrib, data)
def format(self, format, dumper, attrib, data): (source)

Format the object using a specific output format Intended to improve rendering of the object on exporting.

This method should always be robust for missing attributes and body contents. The attrib will automatically be checked by parse_attrib before being given to this method.

Implementing this method is optional, default checks for a specific method per format (e.g. format_html() for the "html" format) and raises ValueError if no such method is defined.

Parameters
formatname of the output format
dumperDumper object
attribdict with object attributes
datastring with object content
Returns
a list of strings
Raises
ValueErrorif no specific formatting for "format" is available
def model_from_data(self, notebook, page, attrib, data): (source)

Returns a model for the object

The main purpose for the model is that it is shared between widgets that show the same object. See e.g. Gtk.TextBuffer or Gtk.TreeModel for examples.

No API is expected of the model object other than that it can be used as argument for create_widget() and data_from_model() and a "changed" signal that should be emitted when the content has changed, so the pageview knows that the page has changed and should be saved before closing.

Since the model is specific for the page where the object occurs, any user of the object type should serialize back to data before e.g. copying the object to a different page.

This method should always be robust for missing attributes and body contents. The attrib will automatically be checked by parse_attrib before being given to this method.

Parameters
notebooka Notebook object
pagea Page object for the page where this object occurs
attribdict with object attributes
datastring with object content
Returns
a model object
def new_model_interactive(self, parent, notebook, page): (source)
Create a new object model interactively Interactive means that we can use e.g. a dialog to prompt for input. The default behavior is to use new_object().
Parameters
parentGtk widget to use as parent widget for dialogs
notebooka Notebook object
pagea Page object for the page where this object occurs
Returns
a model object (see model_from_data())
Raises
Unknown exceptionValueError: if user cancelled the action
def new_object(self): (source)
Create a new empty object
Returns
a 2-tuple (attrib, data)
def parse_attrib(self, attrib): (source)
Convenience method to enforce the supported attributes and their types.
Returns
a ConfigDict using the object_attr dict as definition
verb_icon = (source)

Undocumented

def _data_from_model_wrapper(self, model): (source)

Undocumented

def _format_wrapper(self, format, dumper, attrib, data): (source)

Undocumented

def _model_from_data_wrapper(self, notebook, page, attrib, data): (source)

Undocumented