30 #include <QSvgRenderer>    33 #include <QReadWriteLock>    34 #include <QTouchEvent>    41 #include <LibDLS/Job.h>    79         const QList<LibDLS::Data *> &genData()
 const { 
return genericData; }
    80         const QList<LibDLS::Data *> &minData()
 const { 
return minimumData; }
    81         const QList<LibDLS::Data *> &maxData()
 const { 
return maximumData; }
    86         void notifySection(
Section *section);
    90         QList<LibDLS::Data *> genericData;
    91         QList<LibDLS::Data *> minimumData;
    92         QList<LibDLS::Data *> maximumData;
    93         QList<LibDLS::Job::Message> messages;
    96         static void clearDataList(QList<LibDLS::Data *> &);
   113         Graph(QWidget *parent = 0);
   116         void setDropModel(QtDls::Model *);
   118         virtual QSize sizeHint() 
const;
   120         bool load(
const QString &, QtDls::Model *);
   121         bool save(
const QString &);
   128         Q_DECLARE_FLAGS(RenderFlags, RenderFlag)
   129         bool renderPage(QPainter &, 
const QRect &, 
unsigned int = 0,
   132         void connectChannels(QtDls::Model *);
   141         const LibDLS::Time &getStart()
 const { 
return scale.getStart(); };
   142         const LibDLS::Time &getEnd()
 const { 
return scale.getEnd(); };
   144         const QList<LibDLS::Job::Message> & getMessages()
 const {
return messages;};
   145         const QString &getMessageFilter()
 const { 
return messageFilter; }
   150             unsigned int dirIndex;
   152         QList<ChannelInfo> channelInfo();
   154         LibDLS::Time getMeasureTime()
 const { 
return measureTime; }
   173         QMenu *getMenu() { 
return &menu; };
   176         void logMessage(
const QString &);
   191         void setInteraction(Interaction);
   192         void setNamedRange(NamedRange);
   195         void setShowMessages(
bool);
   196         void setMessageFilter(
const QString &);
   197         void clearSections();
   201         bool event(QEvent *);
   202         void mousePressEvent(QMouseEvent *);
   203         void mouseReleaseEvent(QMouseEvent *);
   204         void mouseMoveEvent(QMouseEvent *);
   205         void leaveEvent(QEvent *);
   206         void keyPressEvent(QKeyEvent *event);
   207         void resizeEvent(QResizeEvent *);
   208         void paintEvent(QPaintEvent *);
   209         void contextMenuEvent(QContextMenuEvent *);
   210         void dragEnterEvent(QDragEnterEvent *);
   211         void dragLeaveEvent(QDragLeaveEvent *);
   212         void dragMoveEvent(QDragMoveEvent *);
   213         void dropEvent(QDropEvent *);
   214         void wheelEvent(QWheelEvent *);
   220         QList<Section *> sections; 
   221         QReadWriteLock rwLockSections;
   223         QtDls::Model *dropModel;
   232         Interaction interaction;
   242         QSvgRenderer busySvg;
   246         QAction fixMeasuringAction;
   247         QAction removeMeasuringAction;
   248         QAction prevViewAction;
   249         QAction nextViewAction;
   250         QAction loadDataAction;
   253         QAction measureAction;
   254         QAction zoomInAction;
   255         QAction zoomOutAction;
   256         QAction zoomResetAction;
   257         QAction *gotoMenuAction;
   258         QAction pickDateAction;
   259         QAction gotoTodayAction;
   260         QAction gotoYesterdayAction;
   261         QAction gotoThisWeekAction;
   262         QAction gotoLastWeekAction;
   263         QAction gotoThisMonthAction;
   264         QAction gotoLastMonthAction;
   265         QAction gotoThisYearAction;
   266         QAction gotoLastYearAction;
   267         QAction sectionPropertiesAction;
   268         QAction removeSectionAction;
   269         QAction clearSectionsAction;
   270         QAction messagesAction;
   271         QAction filterAction;
   273         QAction exportAction;
   275         const int splitterWidth;
   279         QScrollBar scrollBar;
   280         bool scrollBarNeeded;
   288         QList<View>::iterator currentView;
   292         int messageAreaHeight;
   293         bool mouseOverMsgSplitter;
   294         bool movingMsgSplitter;
   295         QList<LibDLS::Job::Message> messages;
   297         static QColor messageColor[];
   298         static QString messagePixmap[];
   299         QString messageFilter;
   313         void updateDragging(QPoint);
   314         void resetDragging();
   316         void updateActions();
   317         void updateMeasuring();
   318         void updateScrollBar();
   319         Section *sectionFromPos(
const QPoint &);
   320         Section *splitterSectionFromPos(
const QPoint &);
   321         static void drawDropRect(QPainter &, 
const QRect &);
   323         bool loadSections(
const QDomElement &, QtDls::Model *, 
const QDir &);
   324         void drawMessages(QPainter &, 
const QRect &);
   325         static void staticLoggingCallback(
const char *, 
void *);
   326         void loggingCallback(
const char *);
   327         void updateTouch(QTouchEvent *);
   328         bool touchPanStart(
const QPoint &);
   329         void touchPanUpdate(
const QTouchEvent::TouchPoint &);
   330         void touchZoomStart(
int, 
int);
   331         void touchZoomUpdate(
int, 
int);
   332         int getDataWidth() 
const;
   333         QSet<QtDls::Channel *> displayedChannels();
   334         QList<Section *>::const_iterator lastSectionOnPage(
   335                 QList<Section *>::const_iterator, 
int) 
const;
   336         int renderCommon(QPainter &, 
const QRect &) 
const;
   337         void renderSections(QPainter &, 
const QRect &,
   338                 QList<Section *>::const_iterator,
   339                 QList<Section *>::const_iterator, 
int, RenderFlags);
   342         void interactionSlot();
   343         void removeSelectedSection();
   344         void sectionProperties();
   345         void sliderValueChanged(
int);
   348         void workerFinished();
   349         void updateSection(
Section *section);
   350         void showMessagesChanged();
   351         void filterTriggered();
   352         void fixMeasuringLine();
   353         void removeMeasuringLine();
   356 Q_DECLARE_OPERATORS_FOR_FLAGS(Graph::RenderFlags)
 
Datentyp zur Speicherung der Zeit in Mikrosekunden.