gui::PropertyEditor Class Reference

Property editor widget. More...

#include <propertyeditor.h>

List of all members.

Public Slots

void unsetObject ()
void setObject (const QString &message)
void setObject (boost::shared_ptr< IProperty > pdfObject)
void setObject (const QString &name, boost::shared_ptr< IProperty > pdfObject)
void setObject (boost::shared_ptr< PdfOperator > pdfOp)
void update (Property *p)
void reloadItem ()
void receiveInfoText (const QString &message)
void receiveWarnText (const QString &message)

Signals

void propertyChanged (IProperty *prop)
void infoText (const QString &message)
void warnText (const QString &message)

Public Member Functions

 PropertyEditor (QWidget *parent=0, const char *name=0)
virtual ~PropertyEditor ()
void resizeEvent (QResizeEvent *e)
void clear ()
void commitProperty ()
void checkOverrides ()

Private Member Functions

void sortList (std::vector< std::string > &list)
void override (bool _showHidden, bool _editReadOnly)
bool addProperty (const QString &name, boost::shared_ptr< IProperty > value)
void addProperty (Property *prop, boost::shared_ptr< IProperty > value)
void appendMessage (const QString &message)
void complex_message (int num_complex)
void deleteLayout ()
void createLayout ()
void fixPropertyHeight (Property *pr)

Private Attributes

int nObjects
QFrame * grid
QGridLayout * gridl
Q_ScrollView * scroll
QStringList * list
Q_Dict< Property > * items
QMap< QString,
boost::shared_ptr< IProperty > > * 
props
QMap< QWidget *, int > rowNum
QMap< QWidget *, QLabel * > propLabel
Q_Dict< QLabel > * labels
PropertyModeControllermode
bool showHidden
bool editReadOnly
boost::shared_ptr< IPropertycurrentObj
boost::shared_ptr< PdfOperatorcurrentOp

Detailed Description

Property editor widget.

Widget for editing properties. Can be used to edit CDict or CArray containing multiple properties, or to edit single property (IProperty). Also, it can edit operands (parameters) from one PDF operator


Constructor & Destructor Documentation

gui::PropertyEditor::PropertyEditor ( QWidget *  parent = 0,
const char *  name = 0 
)

Default constructor of property editor. On creation, no object is assigned to editor

Parameters:
parent parent widget containing this control
name name of widget (currently unused)

References gui::PropertyModeController::getInstance().

gui::PropertyEditor::~PropertyEditor (  )  [virtual]

default destructor


Member Function Documentation

void gui::PropertyEditor::addProperty ( Property prop,
boost::shared_ptr< IProperty value 
) [private]

Add single property

Parameters:
prop property to be added to this widget
value Value of property to be added
bool gui::PropertyEditor::addProperty ( const QString &  name,
boost::shared_ptr< IProperty value 
) [private]

Add single property to the widget

Parameters:
name Name of property to be added
value Value of property to be added
Returns:
true if this property is editable and was added. false if this property is uneditable (unknown type)

Referenced by appendMessage().

void gui::PropertyEditor::appendMessage ( const QString &  message  )  [private]

Append message as next "property"

Parameters:
message Message string

References addProperty(), grid, gui::propertyFactory(), and gui::Property::readValue().

void gui::PropertyEditor::checkOverrides (  ) 

Look in settings for overrides bypassing limitation set by modecontroller.

void gui::PropertyEditor::clear (  ) 

remove and delete all properties from the editor, unset current object

void gui::PropertyEditor::commitProperty (  ) 

Commit currently edited property in property editor, if that property is edited in current property editor

References util::getTypeName(), and setObject().

void gui::PropertyEditor::complex_message ( int  num_complex  )  [private]

Display additional message informing about number of complex properti4es that are not editable and thus not show

Parameters:
num_complex Number of complex properties

No message to show

void gui::PropertyEditor::createLayout (  )  [private]

Create internal layout

void gui::PropertyEditor::deleteLayout (  )  [private]

Delete internal layout

void gui::PropertyEditor::fixPropertyHeight ( Property pr  )  [private]

Fix height of row containing specified property, after it was shown or hidden

Parameters:
pr Affected property
void gui::PropertyEditor::infoText ( const QString &  message  )  [signal]

Send informational message when mouse cursor enters/leaves some property The message is sent on enter and QString::null on leave.

Parameters:
message Message
void gui::PropertyEditor::override ( bool  _showHidden,
bool  _editReadOnly 
) [private]

Apply overrides bypassing limitation set by modecontroller

Parameters:
_showHidden Show hidden properties
_editReadOnly Edit read-only properties
void gui::PropertyEditor::propertyChanged ( IProperty prop  )  [signal]

Signal emitted when any property is modified Send property pointer with the signal

Parameters:
prop Pointer to changed property item
void gui::PropertyEditor::receiveInfoText ( const QString &  message  )  [slot]

Receive and resend informational text

Parameters:
message Message

References update().

void gui::PropertyEditor::receiveWarnText ( const QString &  message  )  [slot]

Receive and resend warning message

Parameters:
message Message
void gui::PropertyEditor::reloadItem (  )  [slot]

Reload item, if it is appropriate for the item currently shown in editor

void gui::PropertyEditor::resizeEvent ( QResizeEvent *  e  ) 

Called on resizing of property editor

Parameters:
e resize event data (new size)
void gui::PropertyEditor::setObject ( boost::shared_ptr< PdfOperator pdfOp  )  [slot]

Set PdfOperator to be active (edited) in this editor. Operands will be edited

Parameters:
pdfOp Object to set for editing in the widget
void gui::PropertyEditor::setObject ( const QString &  name,
boost::shared_ptr< IProperty pdfObject 
) [slot]

set single IProperty object to be active (edited) in this editor This is variant for editing single object - from parent, only this object will be shown and editable

Parameters:
name Name under which will be this property shown in editor
pdfObject Object to set for editing in the widget
void gui::PropertyEditor::setObject ( boost::shared_ptr< IProperty pdfObject  )  [slot]

Set IProperty object to be active (edited) in this editor

Parameters:
pdfObject Object to set for editing in the widget
void gui::PropertyEditor::setObject ( const QString &  message  )  [slot]

Show some message inside property editor instead of its usual contents (like "this is not editable", "this object does not have properties", etc ...)

Parameters:
message Message to show

Referenced by commitProperty(), gui::PdfEditWindow::setSelection(), sortList(), and gui::PdfEditWindow::unsetObjectIf().

void gui::PropertyEditor::sortList ( std::vector< std::string > &  list  )  [private]

Sort the list, if settings are set to sort it

Parameters:
list list to conditionally sort

References setObject().

void gui::PropertyEditor::unsetObject (  )  [slot]

Unset object from property editor

void gui::PropertyEditor::update ( Property p  )  [slot]

called on update of value from a property

Parameters:
p property that was just updated in GUI

Referenced by receiveInfoText().

void gui::PropertyEditor::warnText ( const QString &  message  )  [signal]

Send warning message on some events (only once when the event occurs)

Parameters:
message Message

Member Data Documentation

boost::shared_ptr<IProperty> gui::PropertyEditor::currentObj [private]

If Dict/Array/IProeprty is being edited, this contain reference to it

boost::shared_ptr<PdfOperator> gui::PropertyEditor::currentOp [private]

If PdfOperator is being edited, this contain reference to it

Edit read-only properties

QFrame* gui::PropertyEditor::grid [private]

Grid holding all property editing widgets

Referenced by appendMessage().

QGridLayout* gui::PropertyEditor::gridl [private]

Layout used for the grid

Dictionary with property items

Q_Dict<QLabel>* gui::PropertyEditor::labels [private]

Dictionary with property labels

QStringList* gui::PropertyEditor::list [private]

List of property names

PropertyModeController - modecontroller wrapper instance

Number of objects in property editor

QMap<QWidget*,QLabel*> gui::PropertyEditor::propLabel [private]

Dictionary with labes for properties

QMap<QString,boost::shared_ptr<IProperty> >* gui::PropertyEditor::props [private]

Dictionary with IProperty items

QMap<QWidget*,int> gui::PropertyEditor::rowNum [private]

Dictionary with Row numbers for proerties

Q_ScrollView* gui::PropertyEditor::scroll [private]

Scrollview holding the grid

Show hidden properties


The documentation for this class was generated from the following files: