/usr/include/BALL/VIEW/DIALOGS/pluginDialog.h is in libballview1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | #ifndef BALL_VIEW_PLUGINDIALOG_H
#define BALL_VIEW_PLUGINDIALOG_H
#ifndef BALL_VIEW_KERNEL_PREFERENCESENTRY
# include <BALL/VIEW/KERNEL/preferencesEntry.h>
#endif
#ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
# include <BALL/VIEW/KERNEL/modularWidget.h>
#endif
#ifndef BALL_PLUGIN_PLUGINHANDLER_H
# include <BALL/PLUGIN/pluginHandler.h>
#endif
#include <QtCore/QModelIndex>
#include <QtGui/QItemDelegate>
#include <QtGui/QDialog>
namespace Ui
{
class PluginDialogData;
}
namespace BALL
{
namespace VIEW
{
class VIEWPlugin;
/* class PluginItemDelegate : public QItemDelegate
{
Q_OBJECT
public:
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
};
*/
/**
* A wrapper around the plugin manager that provides
* a model on the currently loaded plugins
*/
class PluginModel : public QAbstractListModel
{
Q_OBJECT
public:
explicit PluginModel ( QObject* parent = 0 );
int rowCount(const QModelIndex& parent = QModelIndex()) const;
QVariant data(const QModelIndex& i, int role) const;
void pluginsLoaded();
private:
int num_rows_;
};
/**
* A wrapper around the plugin manager that provides a
* model on the current plugin directories
*/
class PluginDirectoryModel : public QAbstractListModel
{
Q_OBJECT
public:
explicit PluginDirectoryModel ( QObject* parent = 0 );
int rowCount(const QModelIndex& parent = QModelIndex()) const;
QVariant data(const QModelIndex& i, int role) const;
void addDirectory(const QString& dir);
void removeDirectory(const QModelIndex& index);
};
/**
* Dialog for handling the BALL plugins
*
* This dialog shows all available plugins in a QListView. The user can opt to activate
* or deactivate any plugin and manipulate the plugin search path. Also this dialog acts as
* a plugin handler for VIEWPlugins. It is responsible for registering the ConfigDialog of a
* VIEWPlugin with the preferences system.
*/
class BALL_VIEW_EXPORT PluginDialog
: public QWidget,
public ModularWidget,
public PreferencesEntry,
public PluginHandler
{
Q_OBJECT
public:
BALL_EMBEDDABLE(PluginDialog, ModularWidget)
PluginDialog(Preferences* preferences, QWidget* parent, const char *name = "PluginDialog");
virtual ~PluginDialog();
/**
* Initialization.
* This method is called automatically before the main
* application is started.
* It adds the dialog's menu entries and connections.
*/
virtual void initializeWidget(MainControl& main_control);
/**
* Finalization
* This method is called automatically before the main
* application is closed.
*/
virtual void finalizeWidget(MainControl& main_control);
virtual void writePreferenceEntries(INIFile& inifile);
virtual void readPreferenceEntries(const INIFile& inifile);
virtual void registerChildEntry(PreferencesEntry* child);
virtual void unregisterChildEntry(PreferencesEntry* child);
bool canHandle(BALLPlugin* plugin) const;
bool specificSetup_(BALLPlugin* plugin);
bool specificShutdown_(BALLPlugin* plugin);
protected slots:
virtual void addPluginDirectory();
virtual void removePluginDirectory();
virtual void directorySelectionChanged(const QModelIndex&);
virtual void pluginChanged(QModelIndex i);
virtual void togglePluginState();
private:
QModelIndex active_index_;
PluginModel plugin_model_;
PluginDirectoryModel plugin_dir_model_;
Preferences* preferences_;
Ui::PluginDialogData* ui_;
std::list<PreferencesEntry*> child_entries_;
};
}
}
#endif
|