/usr/include/qgis/qgscomposeritemcommand.h is in libqgis-dev 2.8.6+dfsg-1build1.
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 144 145 | /***************************************************************************
qgscomposeritemcommand.h
------------------------
begin : 2010-11-18
copyright : (C) 2010 by Marco Hugentobler
email : marco dot hugentobler at sourcepole dot ch
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSCOMPOSERITEMCOMMAND_H
#define QGSCOMPOSERITEMCOMMAND_H
#include <QUndoCommand>
#include <QDomDocument>
class QgsComposerItem;
class QgsComposerMultiFrame;
/**Undo command to undo/redo all composer item related changes*/
class CORE_EXPORT QgsComposerItemCommand: public QUndoCommand
{
public:
QgsComposerItemCommand( QgsComposerItem* item, const QString& text, QUndoCommand* parent = 0 );
virtual ~QgsComposerItemCommand();
/**Reverses the command*/
void undo() override;
/**Replays the command*/
void redo() override;
/**Saves current item state as previous state*/
void savePreviousState();
/**Saves current item state as after state*/
void saveAfterState();
QDomDocument previousState() const { return mPreviousState.cloneNode().toDocument(); }
QDomDocument afterState() const { return mAfterState.cloneNode().toDocument(); }
/**Returns true if previous state and after state are valid and different*/
bool containsChange() const;
/**Returns the target item the command applies to.
* @returns target composer item
*/
QgsComposerItem *item() const;
protected:
/**Target item of the command*/
QgsComposerItem* mItem;
/**XML that saves the state before executing the command*/
QDomDocument mPreviousState;
/**XML containing the state after executing the command*/
QDomDocument mAfterState;
/**Parameters for frame items*/
/**Parent multiframe*/
QgsComposerMultiFrame* mMultiFrame;
int mFrameNumber;
/**Flag to prevent the first redo() if the command is pushed to the undo stack*/
bool mFirstRun;
void saveState( QDomDocument& stateDoc ) const;
void restoreState( QDomDocument& stateDoc ) const;
};
/**A composer command that merges together with other commands having the same context (=id). Keeps the oldest previous state and uses the
newest after state. The purpose is to avoid too many micro changes in the history*/
class CORE_EXPORT QgsComposerMergeCommand: public QgsComposerItemCommand
{
public:
enum Context
{
Unknown = 0,
//composer label
ComposerLabelSetText,
ComposerLabelSetId,
//composer map
ComposerMapRotation,
ComposerMapAnnotationDistance,
//composer legend
ComposerLegendText,
LegendColumnCount,
LegendSplitLayer,
LegendEqualColumnWidth,
LegendSymbolWidth,
LegendSymbolHeight,
LegendWmsLegendWidth,
LegendWmsLegendHeight,
LegendTitleSpaceBottom,
LegendGroupSpace,
LegendLayerSpace,
LegendSymbolSpace,
LegendIconSymbolSpace,
LegendBoxSpace,
LegendColumnSpace,
//composer picture
ComposerPictureRotation,
// composer scalebar
ScaleBarLineWidth,
ScaleBarHeight,
ScaleBarSegmentSize,
ScaleBarSegmentsLeft,
ScaleBarNSegments,
ScaleBarUnitText,
ScaleBarMapUnitsSegment,
ScaleBarLabelBarSize,
ScaleBarBoxContentSpace,
// composer table
TableMaximumFeatures,
TableMargin,
TableGridStrokeWidth,
//composer shape
ShapeCornerRadius,
ShapeOutlineWidth,
//composer arrow
ArrowOutlineWidth,
ArrowHeadWidth,
//item
ItemOutlineWidth,
ItemMove,
ItemRotation,
ItemTransparency,
ItemZoomContent
};
QgsComposerMergeCommand( Context c, QgsComposerItem* item, const QString& text );
~QgsComposerMergeCommand();
bool mergeWith( const QUndoCommand * command ) override;
int id() const override { return ( int )mContext; }
private:
Context mContext;
};
#endif // QGSCOMPOSERITEMCOMMAND_H
|