Qyoto  4.0.5
Qyoto is a C# language binding for Qt
 All Classes Namespaces Functions Variables Typedefs Enumerations Properties
QtGui.QUndoStack Class Reference

The QUndoStack class is a stack of QUndoCommand objects. More...

Inheritance diagram for QtGui.QUndoStack:
Collaboration diagram for QtGui.QUndoStack:

Public Member Functions

 QUndoStack (QObject parent=null)
 
 
override void CreateProxy ()
 
new void BeginMacro (string text)
 
 
new bool CanRedo ()
 
 
new bool CanUndo ()
 
 
new int CleanIndex ()
 
 
new void Clear ()
 
 
new QUndoCommand Command (int index)
 
 
new int Count ()
 
 
new QAction CreateRedoAction (QObject parent, string prefix="")
 
 
new QAction CreateUndoAction (QObject parent, string prefix="")
 
 
new void EndMacro ()
 
 
new bool IsClean ()
 
 
new void Push (QUndoCommand cmd)
 
 
new void Redo ()
 
 
new string RedoText ()
 
 
new void SetClean ()
 
 
new string Text (int idx)
 
 
new void Undo ()
 
 
new string UndoText ()
 
 
new void Dispose ()
 
- Public Member Functions inherited from QtCore.QObject
 QObject (QObject parent=null)
 
 
new bool BlockSignals (bool b)
 
 
new
System.Collections.Generic.List
< QObject
Children ()
 
 
new bool Connect (QObject sender, string signal, string member, Qt.ConnectionType type=Qt.ConnectionType.AutoConnection)
 
 
new void DeleteLater ()
 
 
new bool Disconnect (QObject receiver, string member=null)
 
 
new bool Disconnect (string signal=null, QObject receiver=null, string member=null)
 
 
new void DumpObjectInfo ()
 
 
new void DumpObjectTree ()
 
 
new
System.Collections.Generic.List
< QByteArray
DynamicPropertyNames ()
 
 
virtual bool OnEvent (QEvent arg1)
 
 
virtual bool EventFilter (QObject arg1, QEvent arg2)
 
 
new bool Inherits (string classname)
 
 
new void InstallEventFilter (QObject arg1)
 
 
new bool IsWidgetType ()
 
 
new void KillTimer (int id)
 
 
new object Property (string name)
 
 
new void RemoveEventFilter (QObject arg1)
 
 
new bool SetProperty (string name, object value)
 
 
new void SetUserData (uint id, QObjectUserData data)
 
new bool SignalsBlocked ()
 
 
new int StartTimer (int interval)
 
 
new QObjectUserData UserData (uint id)
 
new void Dispose ()
 
- Public Member Functions inherited from QtCore.Qt
delegate QTextStream FuncQTextStreamQTextStream (QTextStream qTextStream)
 
delegate string FuncStringQByteArray (QByteArray qByteArray)
 
delegate QByteArray FuncQByteArrayString (string @string)
 
delegate void ActionQtMsgTypeString (QtMsgType qtMsgType, string @string)
 
delegate QObject FuncQObject ()
 

Static Public Member Functions

static string Tr (string s, string c=null)
 
static string Tr (string s, string c, int n)
 
static string TrUtf8 (string s, string c=null)
 
static string TrUtf8 (string s, string c, int n)
 
- Static Public Member Functions inherited from QtCore.QObject
static bool Connect (QObject sender, QMetaMethod signal, QObject receiver, QMetaMethod method, Qt.ConnectionType type=Qt.ConnectionType.AutoConnection)
 
 
static bool Connect (QObject sender, string signal, QObject receiver, string member, Qt.ConnectionType arg5=Qt.ConnectionType.AutoConnection)
 
 
static bool Disconnect (QObject sender, QMetaMethod signal, QObject receiver, QMetaMethod member)
 
 
static bool Disconnect (QObject sender, string signal, QObject receiver, string member)
 
 
static uint RegisterUserData ()
 
static string Tr (string s, string c=null)
 
 
static string Tr (string s, string c, int n)
 
 
static string TrUtf8 (string s, string c=null)
 
 
static string TrUtf8 (string s, string c, int n)
 
 
- Static Public Member Functions inherited from QtCore.Qt
static QDataStream Write (QDataStream s, object p)
 
static QDataStream Write (QDataStream arg1, QSizeF arg2)
 
static QTextStream Write (QTextStream s, Qt.FuncQTextStreamQTextStream f)
 
static QDataStream Write (QDataStream arg1, QPoint arg2)
 
static QDataStream Write (QDataStream arg1, QLineF arg2)
 
static QDataStream Write (QDataStream arg1, QPointF arg2)
 
static QDataStream Write (QDataStream arg1, QChar arg2)
 
static QDataStream Write (QDataStream arg1, QByteArray arg2)
 
static QDataStream Write (QDataStream arg1, QEasingCurve arg2)
 
static QDataStream Write (QDataStream arg1, QRectF arg2)
 
static QDataStream Write (QDataStream arg1, QDateTime arg2)
 
static QDataStream Write (QDataStream arg1, QUrl arg2)
 
static QDataStream Write (QDataStream arg1, QTime arg2)
 
static QDataStream Write (QDataStream arg1, QLocale arg2)
 
static QDataStream Write (QDataStream arg1, QBitArray arg2)
 
static QDataStream Write (QDataStream arg1, QUuid arg2)
 
static QDataStream Write (QDataStream arg1, QLine arg2)
 
static QDataStream Write (QDataStream arg1, QDate arg2)
 
static QDataStream Write (QDataStream @out, QRegExp regExp)
 
static QDataStream Write (QDataStream arg1, QRect arg2)
 
static QDataStream Write (QDataStream arg1, QSize arg2)
 
static QDataStream Write (QDataStream s, QVariant.Type p)
 
static QDataStream Write (QDataStream arg1, string arg2)
 
static QDataStream Write (QDataStream @out, System.Collections.Generic.List< string > list)
 
static QDataStream Read (QDataStream arg1, QChar arg2)
 
static QDataStream Read (QDataStream arg1, QLocale arg2)
 
static QDataStream Read (QDataStream arg1, QRect arg2)
 
static QDataStream Read (QDataStream arg1, QEasingCurve arg2)
 
static QDataStream Read (QDataStream arg1, QDate arg2)
 
static QDataStream Read (QDataStream arg1, QUrl arg2)
 
static QDataStream Read (QDataStream arg1, QUuid arg2)
 
static QTextStream Read (QTextStream s, Qt.FuncQTextStreamQTextStream f)
 
static QDataStream Read (QDataStream arg1, QLineF arg2)
 
static QDataStream Read (QDataStream arg1, QRectF arg2)
 
static QDataStream Read (QDataStream arg1, QPointF arg2)
 
static QDataStream Read (QDataStream arg1, QLine arg2)
 
static QDataStream Read (QDataStream arg1, QBitArray arg2)
 
static QDataStream Read (QDataStream arg1, QSize arg2)
 
static QDataStream Read (QDataStream arg1, QDateTime arg2)
 
static QDataStream Read (QDataStream arg1, QTime arg2)
 
static QDataStream Read (QDataStream arg1, QPoint arg2)
 
static QDataStream Read (QDataStream @in, QRegExp regExp)
 
static QDataStream Read (QDataStream s, object p)
 
static QDataStream Read (QDataStream arg1, QByteArray arg2)
 
static QDataStream Read (QDataStream arg1, QSizeF arg2)
 
static QDataStream Read (QDataStream arg1, string arg2)
 
static QDataStream Read (QDataStream s, QVariant.Type p)
 
static QDataStream Read (QDataStream @in, System.Collections.Generic.List< string > list)
 
static double qAcos (double v)
 
static void qAddPostRoutine (System.Action arg1)
 
static string qAppName ()
 
static double qAsin (double v)
 
static double qAtan (double v)
 
static double qAtan2 (double x, double y)
 
static void qBadAlloc ()
 
static int qCeil (double v)
 
static ushort qChecksum (string s, uint len)
 
static QByteArray qCompress (QByteArray data)
 
static QByteArray qCompress (QByteArray data, int compressionLevel=-1)
 
static QByteArray qCompress (Pointer< byte > data, int nbytes)
 
static QByteArray qCompress (Pointer< byte > data, int nbytes, int compressionLevel=-1)
 
static double qCos (double v)
 
static double qExp (double v)
 
static double qFabs (double v)
 
static double qFastCos (double x)
 
static double qFastSin (double x)
 
static string qFlagLocation (string method)
 
static int qFloor (double v)
 
static bool qFuzzyCompare (double p1, double p2)
 
static bool qFuzzyCompare (float p1, float p2)
 
static bool qFuzzyIsNull (double d)
 
static bool qFuzzyIsNull (float f)
 
static uint qHash (QBitArray key)
 
static uint qHash (QChar key)
 
static uint qHash (QStringRef key)
 
static uint qHash (QUrl url)
 
static uint qHash (QPersistentModelIndex index)
 
static uint qHash (QByteArray key)
 
static uint qHash (QModelIndex index)
 
static uint qHash (uint key)
 
static uint qHash (sbyte key)
 
static uint qHash (byte key)
 
static uint qHash (short key)
 
static uint qHash (NativeLong key)
 
static uint qHash (ushort key)
 
static uint qHash (long key)
 
static uint qHash (ulong key)
 
static uint qHash (int key)
 
static uint qHash (string key)
 
static uint qHash (NativeULong key)
 
static double qInf ()
 
static Qt.ActionQtMsgTypeString qInstallMsgHandler (Qt.ActionQtMsgTypeString arg1)
 
static int qIntCast (float f)
 
static int qIntCast (double f)
 
static bool qIsFinite (double d)
 
static bool qIsFinite (float f)
 
static bool qIsInf (float f)
 
static bool qIsInf (double d)
 
static bool qIsNaN (float f)
 
static bool qIsNaN (double d)
 
static bool qIsNull (float f)
 
static bool qIsNull (double d)
 
static double qLn (double v)
 
static double qPow (double x, double y)
 
static double qQNaN ()
 
static void qRegisterStaticPluginInstanceFunction (Qt.FuncQObject function)
 
static void qRemovePostRoutine (System.Action arg1)
 
static int qRound (double d)
 
static long qRound64 (double d)
 
static double qSNaN ()
 
static bool qSharedBuild ()
 
static double qSin (double v)
 
static double qSqrt (double v)
 
static bool qStringComparisonHelper (QStringRef s1, string s2)
 
static double qTan (double v)
 
static QByteArray qUncompress (QByteArray data)
 
static QByteArray qUncompress (Pointer< byte > data, int nbytes)
 
static string qVersion ()
 
static void Qbswap_helper (Pointer< byte > src, Pointer< byte > dest, int size)
 
static QByteArray Qgetenv (string varName)
 
static bool Qputenv (string varName, QByteArray value)
 
static int Qrand ()
 
static void Qsrand (uint seed)
 
static int Qstrcmp (QByteArray str1, QByteArray str2)
 
static int Qstrcmp (QByteArray str1, string str2)
 
static int Qstrcmp (string str1, QByteArray str2)
 
static int Qstrcmp (string str1, string str2)
 
static Pointer< sbyte > Qstrcpy (Pointer< sbyte > dst, string src)
 
static Pointer< sbyte > Qstrdup (string arg1)
 
static int Qstricmp (string arg1, string arg2)
 
static uint Qstrlen (string str)
 
static int Qstrncmp (string str1, string str2, uint len)
 
static Pointer< sbyte > Qstrncpy (Pointer< sbyte > dst, string src, uint len)
 
static int Qstrnicmp (string arg1, string arg2, uint len)
 
static uint Qstrnlen (string str, uint maxlen)
 
static string QtTrId (string id, int n=-1)
 

Protected Member Functions

 QUndoStack (System.Type dummy)
 
new void OnCanRedoChanged (bool canRedo)
 
 
new void OnCanUndoChanged (bool canUndo)
 
 
new void OnCleanChanged (bool clean)
 
 
new void OnIndexChanged (int idx)
 
 
new void OnRedoTextChanged (string redoText)
 
 
new void OnUndoTextChanged (string undoText)
 
 
- Protected Member Functions inherited from QtCore.QObject
 QObject (System.Type dummy)
 
virtual void OnChildEvent (QChildEvent arg1)
 
 
virtual void ConnectNotify (string signal)
 
 
virtual void OnCustomEvent (QEvent arg1)
 
 
new void OnDestroyed (QObject arg1=null)
 
 
virtual void DisconnectNotify (string signal)
 
 
new int Receivers (string signal)
 
 
new QObject Sender ()
 
 
new int SenderSignalIndex ()
 
 
virtual void OnTimerEvent (QTimerEvent arg1)
 
 

Properties

Slot< System.Int32 > IndexChanged
 
 
Slot< System.Boolean > CleanChanged
 
 
Slot< System.Boolean > CanUndoChanged
 
 
Slot< System.Boolean > CanRedoChanged
 
 
Slot< System.String > UndoTextChanged
 
 
Slot< System.String > RedoTextChanged
 
 
new int Index [get, set]
 
 
new bool Active [get, set]
 
 
new int UndoLimit [get, set]
 
 
static new QMetaObject StaticMetaObject [get]
 
new IQUndoStackSignals Emit [get]
 
- Properties inherited from QtCore.QObject
virtual EventHandler
< QEventArgs< QChildEvent > > 
ChildEvent
 
 
virtual EventHandler
< QEventArgs< QEvent > > 
CustomEvent
 
 
virtual EventHandler
< QEventArgs< QEvent > > 
Event
 
 
virtual EventHandler
< QEventArgs< QTimerEvent > > 
TimerEvent
 
 
Slot< QObjectDestroyedQObject
 
Slot Destroyed
 
 
new QObject Parent [get, set]
 
 
virtual System.IntPtr SmokeObject [get, set]
 
new string ObjectName [get, set]
 
 
static new QMetaObject StaticMetaObject [get]
 
 
static new QMetaObject StaticQtMetaObject [get]
 
new IQObjectSignals Emit [get]
 

Additional Inherited Members

- Public Types inherited from QtCore.Qt
enum  AlignmentFlag {
  AlignAbsolute = 16, AlignBottom = 64, AlignCenter = 132, AlignHCenter = 4,
  AlignHorizontal_Mask = 31, AlignJustify = 8, AlignLeading = 1, AlignLeft = 1,
  AlignRight = 2, AlignTop = 32, AlignTrailing = 2, AlignVCenter = 128,
  AlignVertical_Mask = 224
}
  More...
 
enum  AnchorAttribute { AnchorHref = 1, AnchorName = 0 }
  More...
 
enum  AnchorPoint {
  AnchorBottom = 5, AnchorHorizontalCenter = 1, AnchorLeft = 0, AnchorRight = 2,
  AnchorTop = 3, AnchorVerticalCenter = 4
}
  More...
 
enum  ApplicationAttribute {
  AA_AttributeCount = 12, AA_CaptureMultimediaKeys = 11, AA_DontCreateNativeWidgetSiblings = 4, AA_DontShowIconsInMenus = 2,
  AA_DontUseNativeMenuBar = 6, AA_ImmediateWidgetCreation = 0, AA_MSWindowsUseDirect3DByDefault = 1, AA_MacDontSwapCtrlAndMeta = 7,
  AA_MacPluginApplication = 5, AA_NativeWindows = 3, AA_S60DisablePartialScreenInputMode = 9, AA_S60DontConstructApplicationPanes = 8,
  AA_X11InitThreads = 10
}
  More...
 
enum  ArrowType {
  DownArrow = 2, LeftArrow = 3, NoArrow = 0, RightArrow = 4,
  UpArrow = 1
}
 
enum  AspectRatioMode { IgnoreAspectRatio = 0, KeepAspectRatio = 1, KeepAspectRatioByExpanding = 2 }
  More...
 
enum  Axis { XAxis = 0, YAxis = 1, ZAxis = 2 }
  More...
 
enum  BGMode { OpaqueMode = 1, TransparentMode = 0 }
  More...
 
enum  BrushStyle {
  BDiagPattern = 12, ConicalGradientPattern = 17, CrossPattern = 11, Dense1Pattern = 2,
  Dense2Pattern = 3, Dense3Pattern = 4, Dense4Pattern = 5, Dense5Pattern = 6,
  Dense6Pattern = 7, Dense7Pattern = 8, DiagCrossPattern = 14, FDiagPattern = 13,
  HorPattern = 9, LinearGradientPattern = 15, NoBrush = 0, RadialGradientPattern = 16,
  SolidPattern = 1, TexturePattern = 24, VerPattern = 10
}
  More...
 
enum  CaseSensitivity { CaseInsensitive = 0, CaseSensitive = 1 }
 
enum  CheckState { Checked = 2, PartiallyChecked = 1, Unchecked = 0 }
  More...
 
enum  ClipOperation { IntersectClip = 2, NoClip = 0, ReplaceClip = 1, UniteClip = 3 }
 
enum  ConnectionType {
  AutoCompatConnection = 3, AutoConnection = 0, BlockingQueuedConnection = 4, DirectConnection = 1,
  QueuedConnection = 2, UniqueConnection = 128
}
  More...
 
enum  ContextMenuPolicy {
  ActionsContextMenu = 2, CustomContextMenu = 3, DefaultContextMenu = 1, NoContextMenu = 0,
  PreventContextMenu = 4
}
  More...
 
enum  CoordinateSystem { DeviceCoordinates = 0, LogicalCoordinates = 1 }
  More...
 
enum  Corner { BottomLeftCorner = 2, BottomRightCorner = 3, TopLeftCorner = 0, TopRightCorner = 1 }
  More...
 
enum  CursorMoveStyle { LogicalMoveStyle = 0, VisualMoveStyle = 1 }
  More...
 
enum  CursorShape {
  ArrowCursor = 0, BitmapCursor = 24, BlankCursor = 10, BusyCursor = 16,
  ClosedHandCursor = 18, CrossCursor = 2, CustomCursor = 25, DragCopyCursor = 19,
  DragLinkCursor = 21, DragMoveCursor = 20, ForbiddenCursor = 14, IBeamCursor = 4,
  LastCursor = 21, OpenHandCursor = 17, PointingHandCursor = 13, SizeAllCursor = 9,
  SizeBDiagCursor = 7, SizeFDiagCursor = 8, SizeHorCursor = 6, SizeVerCursor = 5,
  SplitHCursor = 12, SplitVCursor = 11, UpArrowCursor = 1, WaitCursor = 3,
  WhatsThisCursor = 15
}
  More...
 
enum  DateFormat {
  DefaultLocaleLongDate = 7, DefaultLocaleShortDate = 6, ISODate = 1, LocalDate = 2,
  LocaleDate = 3, SystemLocaleDate = 2, SystemLocaleLongDate = 5, SystemLocaleShortDate = 4,
  TextDate = 0
}
  More...
 
enum  DayOfWeek {
  Friday = 5, Monday = 1, Saturday = 6, Sunday = 7,
  Thursday = 4, Tuesday = 2, Wednesday = 3
}
 
enum  DockWidgetArea {
  AllDockWidgetAreas = 15, BottomDockWidgetArea = 8, DockWidgetArea_Mask = 15, LeftDockWidgetArea = 1,
  NoDockWidgetArea = 0, RightDockWidgetArea = 2, TopDockWidgetArea = 4
}
 
enum  DockWidgetAreaSizes { NDockWidgetAreas = 4 }
 
enum  DropAction {
  ActionMask = 255, CopyAction = 1, IgnoreAction = 0, LinkAction = 4,
  MoveAction = 2, TargetMoveAction = 32770
}
 
enum  EventPriority { HighEventPriority = 1, LowEventPriority = -1, NormalEventPriority = 0 }
  More...
 
enum  FillRule { OddEvenFill = 0, WindingFill = 1 }
  More...
 
enum  FocusPolicy {
  ClickFocus = 2, NoFocus = 0, StrongFocus = 11, TabFocus = 1,
  WheelFocus = 15
}
  More...
 
enum  FocusReason {
  ActiveWindowFocusReason = 3, BacktabFocusReason = 2, MenuBarFocusReason = 6, MouseFocusReason = 0,
  NoFocusReason = 8, OtherFocusReason = 7, PopupFocusReason = 4, ShortcutFocusReason = 5,
  TabFocusReason = 1
}
  More...
 
enum  GestureFlag { DontStartGestureOnChildren = 1, IgnoredGesturesPropagateToParent = 4, ReceivePartialGestures = 2 }
  More...
 
enum  GestureState {
  GestureCanceled = 4, GestureFinished = 3, GestureStarted = 1, GestureUpdated = 2,
  NoGesture = 0
}
  More...
 
enum  GestureType {
  CustomGesture = 256, LastGestureType = -1, PanGesture = 3, PinchGesture = 4,
  SwipeGesture = 5, TapAndHoldGesture = 2, TapGesture = 1
}
  More...
 
enum  GlobalColor {
  black = 2, blue = 9, color0 = 0, color1 = 1,
  cyan = 10, darkBlue = 15, darkCyan = 16, darkGray = 4,
  darkGreen = 14, darkMagenta = 17, darkRed = 13, darkYellow = 18,
  gray = 5, green = 8, lightGray = 6, magenta = 11,
  red = 7, transparent = 19, white = 3, yellow = 12
}
  More...
 
enum  ImageConversionFlag {
  AlphaDither_Mask = 12, AutoColor = 0, AutoDither = 0, AvoidDither = 128,
  ColorMode_Mask = 3, ColorOnly = 3, DiffuseAlphaDither = 8, DiffuseDither = 0,
  DitherMode_Mask = 192, Dither_Mask = 48, MonoOnly = 2, NoAlpha = 12,
  NoFormatConversion = 512, NoOpaqueDetection = 256, OrderedAlphaDither = 4, OrderedDither = 16,
  PreferDither = 64, ThresholdAlphaDither = 0, ThresholdDither = 32
}
  More...
 
enum  Initialization { Uninitialized = 0 }
 
enum  InputMethodHint {
  ImhDialableCharactersOnly = 1048576, ImhDigitsOnly = 65536, ImhEmailCharactersOnly = 2097152, ImhExclusiveInputMask = -65536,
  ImhFormattedNumbersOnly = 131072, ImhHiddenText = 1, ImhLowercaseOnly = 524288, ImhNoAutoUppercase = 2,
  ImhNoPredictiveText = 32, ImhNone = 0, ImhPreferLowercase = 16, ImhPreferNumbers = 4,
  ImhPreferUppercase = 8, ImhUppercaseOnly = 262144, ImhUrlCharactersOnly = 4194304
}
  More...
 
enum  InputMethodQuery {
  ImAnchorPosition = 6, ImCurrentSelection = 4, ImCursorPosition = 2, ImFont = 1,
  ImMaximumTextLength = 5, ImMicroFocus = 0, ImSurroundingText = 3
}
 
enum  ItemDataRole {
  AccessibleDescriptionRole = 12, AccessibleTextRole = 11, BackgroundColorRole = 8, BackgroundRole = 8,
  CheckStateRole = 10, DecorationPropertyRole = 28, DecorationRole = 1, DisplayPropertyRole = 27,
  DisplayRole = 0, EditRole = 2, FontRole = 6, ForegroundRole = 9,
  InitialSortOrderRole = 14, SizeHintRole = 13, StatusTipPropertyRole = 30, StatusTipRole = 4,
  TextAlignmentRole = 7, TextColorRole = 9, ToolTipPropertyRole = 29, ToolTipRole = 3,
  UserRole = 32, WhatsThisPropertyRole = 31, WhatsThisRole = 5
}
  More...
 
enum  ItemFlag {
  ItemIsDragEnabled = 4, ItemIsDropEnabled = 8, ItemIsEditable = 2, ItemIsEnabled = 32,
  ItemIsSelectable = 1, ItemIsTristate = 64, ItemIsUserCheckable = 16, NoItemFlags = 0
}
  More...
 
enum  ItemSelectionMode { ContainsItemBoundingRect = 2, ContainsItemShape = 0, IntersectsItemBoundingRect = 3, IntersectsItemShape = 1 }
  More...
 
enum  Key {
  Key_0 = 48, Key_1 = 49, Key_2 = 50, Key_3 = 51,
  Key_4 = 52, Key_5 = 53, Key_6 = 54, Key_7 = 55,
  Key_8 = 56, Key_9 = 57, Key_A = 65, Key_AE = 198,
  Key_Aacute = 193, Key_Acircumflex = 194, Key_AddFavorite = 16777408, Key_Adiaeresis = 196,
  Key_Agrave = 192, Key_Alt = 16777251, Key_AltGr = 16781571, Key_Ampersand = 38,
  Key_Any = 32, Key_Apostrophe = 39, Key_ApplicationLeft = 16777415, Key_ApplicationRight = 16777416,
  Key_Aring = 197, Key_AsciiCircum = 94, Key_AsciiTilde = 126, Key_Asterisk = 42,
  Key_At = 64, Key_Atilde = 195, Key_AudioCycleTrack = 16777478, Key_AudioForward = 16777474,
  Key_AudioRandomPlay = 16777476, Key_AudioRepeat = 16777475, Key_AudioRewind = 16777413, Key_Away = 16777464,
  Key_B = 66, Key_Back = 16777313, Key_BackForward = 16777414, Key_Backslash = 92,
  Key_Backspace = 16777219, Key_Backtab = 16777218, Key_Bar = 124, Key_BassBoost = 16777331,
  Key_BassDown = 16777333, Key_BassUp = 16777332, Key_Battery = 16777470, Key_Bluetooth = 16777471,
  Key_Book = 16777417, Key_BraceLeft = 123, Key_BraceRight = 125, Key_BracketLeft = 91,
  Key_BracketRight = 93, Key_BrightnessAdjust = 16777410, Key_C = 67, Key_CD = 16777418,
  Key_Calculator = 16777419, Key_Calendar = 16777444, Key_Call = 17825796, Key_Camera = 17825824,
  Key_CameraFocus = 17825825, Key_Cancel = 16908289, Key_CapsLock = 16777252, Key_Ccedilla = 199,
  Key_Clear = 16777227, Key_ClearGrab = 16777421, Key_Close = 16777422, Key_Codeinput = 16781623,
  Key_Colon = 58, Key_Comma = 44, Key_Community = 16777412, Key_Context1 = 17825792,
  Key_Context2 = 17825793, Key_Context3 = 17825794, Key_Context4 = 17825795, Key_ContrastAdjust = 16777485,
  Key_Control = 16777249, Key_Copy = 16777423, Key_Cut = 16777424, Key_D = 68,
  Key_DOS = 16777426, Key_Dead_Abovedot = 16781910, Key_Dead_Abovering = 16781912, Key_Dead_Acute = 16781905,
  Key_Dead_Belowdot = 16781920, Key_Dead_Breve = 16781909, Key_Dead_Caron = 16781914, Key_Dead_Cedilla = 16781915,
  Key_Dead_Circumflex = 16781906, Key_Dead_Diaeresis = 16781911, Key_Dead_Doubleacute = 16781913, Key_Dead_Grave = 16781904,
  Key_Dead_Hook = 16781921, Key_Dead_Horn = 16781922, Key_Dead_Iota = 16781917, Key_Dead_Macron = 16781908,
  Key_Dead_Ogonek = 16781916, Key_Dead_Semivoiced_Sound = 16781919, Key_Dead_Tilde = 16781907, Key_Dead_Voiced_Sound = 16781918,
  Key_Delete = 16777223, Key_Direction_L = 16777305, Key_Direction_R = 16777312, Key_Display = 16777425,
  Key_Documents = 16777427, Key_Dollar = 36, Key_Down = 16777237, Key_E = 69,
  Key_ETH = 208, Key_Eacute = 201, Key_Ecircumflex = 202, Key_Ediaeresis = 203,
  Key_Egrave = 200, Key_Eisu_Shift = 16781615, Key_Eisu_toggle = 16781616, Key_Eject = 16777401,
  Key_End = 16777233, Key_Enter = 16777221, Key_Equal = 61, Key_Escape = 16777216,
  Key_Excel = 16777428, Key_Exclam = 33, Key_Execute = 16908291, Key_Explorer = 16777429,
  Key_F = 70, Key_F1 = 16777264, Key_F10 = 16777273, Key_F11 = 16777274,
  Key_F12 = 16777275, Key_F13 = 16777276, Key_F14 = 16777277, Key_F15 = 16777278,
  Key_F16 = 16777279, Key_F17 = 16777280, Key_F18 = 16777281, Key_F19 = 16777282,
  Key_F2 = 16777265, Key_F20 = 16777283, Key_F21 = 16777284, Key_F22 = 16777285,
  Key_F23 = 16777286, Key_F24 = 16777287, Key_F25 = 16777288, Key_F26 = 16777289,
  Key_F27 = 16777290, Key_F28 = 16777291, Key_F29 = 16777292, Key_F3 = 16777266,
  Key_F30 = 16777293, Key_F31 = 16777294, Key_F32 = 16777295, Key_F33 = 16777296,
  Key_F34 = 16777297, Key_F35 = 16777298, Key_F4 = 16777267, Key_F5 = 16777268,
  Key_F6 = 16777269, Key_F7 = 16777270, Key_F8 = 16777271, Key_F9 = 16777272,
  Key_Favorites = 16777361, Key_Finance = 16777411, Key_Flip = 17825798, Key_Forward = 16777314,
  Key_G = 71, Key_Game = 16777430, Key_Go = 16777431, Key_Greater = 62,
  Key_H = 72, Key_Hangul = 16781617, Key_Hangul_Banja = 16781625, Key_Hangul_End = 16781619,
  Key_Hangul_Hanja = 16781620, Key_Hangul_Jamo = 16781621, Key_Hangul_Jeonja = 16781624, Key_Hangul_PostHanja = 16781627,
  Key_Hangul_PreHanja = 16781626, Key_Hangul_Romaja = 16781622, Key_Hangul_Special = 16781631, Key_Hangul_Start = 16781618,
  Key_Hangup = 17825797, Key_Hankaku = 16781609, Key_Help = 16777304, Key_Henkan = 16781603,
  Key_Hibernate = 16777480, Key_Hiragana = 16781605, Key_Hiragana_Katakana = 16781607, Key_History = 16777407,
  Key_Home = 16777232, Key_HomePage = 16777360, Key_HotLinks = 16777409, Key_Hyper_L = 16777302,
  Key_Hyper_R = 16777303, Key_I = 73, Key_Iacute = 205, Key_Icircumflex = 206,
  Key_Idiaeresis = 207, Key_Igrave = 204, Key_Insert = 16777222, Key_J = 74,
  Key_K = 75, Key_Kana_Lock = 16781613, Key_Kana_Shift = 16781614, Key_Kanji = 16781601,
  Key_Katakana = 16781606, Key_KeyboardBrightnessDown = 16777398, Key_KeyboardBrightnessUp = 16777397, Key_KeyboardLightOnOff = 16777396,
  Key_L = 76, Key_LastNumberRedial = 17825801, Key_Launch0 = 16777378, Key_Launch1 = 16777379,
  Key_Launch2 = 16777380, Key_Launch3 = 16777381, Key_Launch4 = 16777382, Key_Launch5 = 16777383,
  Key_Launch6 = 16777384, Key_Launch7 = 16777385, Key_Launch8 = 16777386, Key_Launch9 = 16777387,
  Key_LaunchA = 16777388, Key_LaunchB = 16777389, Key_LaunchC = 16777390, Key_LaunchD = 16777391,
  Key_LaunchE = 16777392, Key_LaunchF = 16777393, Key_LaunchG = 16777486, Key_LaunchH = 16777487,
  Key_LaunchMail = 16777376, Key_LaunchMedia = 16777377, Key_Left = 16777234, Key_Less = 60,
  Key_LightBulb = 16777405, Key_LogOff = 16777433, Key_M = 77, Key_MailForward = 16777467,
  Key_Market = 16777434, Key_Massyo = 16781612, Key_MediaLast = 16842751, Key_MediaNext = 16777347,
  Key_MediaPause = 16777349, Key_MediaPlay = 16777344, Key_MediaPrevious = 16777346, Key_MediaRecord = 16777348,
  Key_MediaStop = 16777345, Key_MediaTogglePlayPause = 16777350, Key_Meeting = 16777435, Key_Memo = 16777404,
  Key_Menu = 16777301, Key_MenuKB = 16777436, Key_MenuPB = 16777437, Key_Messenger = 16777465,
  Key_Meta = 16777250, Key_Minus = 45, Key_Mode_switch = 16781694, Key_MonBrightnessDown = 16777395,
  Key_MonBrightnessUp = 16777394, Key_Muhenkan = 16781602, Key_Multi_key = 16781600, Key_MultipleCandidate = 16781629,
  Key_Music = 16777469, Key_MySites = 16777438, Key_N = 78, Key_News = 16777439,
  Key_No = 16842754, Key_Ntilde = 209, Key_NumLock = 16777253, Key_NumberSign = 35,
  Key_O = 79, Key_Oacute = 211, Key_Ocircumflex = 212, Key_Odiaeresis = 214,
  Key_OfficeHome = 16777440, Key_Ograve = 210, Key_Ooblique = 216, Key_OpenUrl = 16777364,
  Key_Option = 16777441, Key_Otilde = 213, Key_P = 80, Key_PageDown = 16777239,
  Key_PageUp = 16777238, Key_ParenLeft = 40, Key_ParenRight = 41, Key_Paste = 16777442,
  Key_Pause = 16777224, Key_Percent = 37, Key_Period = 46, Key_Phone = 16777443,
  Key_Pictures = 16777468, Key_Play = 16908293, Key_Plus = 43, Key_PowerDown = 16777483,
  Key_PowerOff = 16777399, Key_PreviousCandidate = 16781630, Key_Print = 16777225, Key_Printer = 16908290,
  Key_Q = 81, Key_Question = 63, Key_QuoteDbl = 34, Key_QuoteLeft = 96,
  Key_R = 82, Key_Refresh = 16777316, Key_Reload = 16777446, Key_Reply = 16777445,
  Key_Return = 16777220, Key_Right = 16777236, Key_Romaji = 16781604, Key_RotateWindows = 16777447,
  Key_RotationKB = 16777449, Key_RotationPB = 16777448, Key_S = 83, Key_Save = 16777450,
  Key_ScreenSaver = 16777402, Key_ScrollLock = 16777254, Key_Search = 16777362, Key_Select = 16842752,
  Key_Semicolon = 59, Key_Send = 16777451, Key_Shift = 16777248, Key_Shop = 16777406,
  Key_SingleCandidate = 16781628, Key_Slash = 47, Key_Sleep = 16908292, Key_Space = 32,
  Key_Spell = 16777452, Key_SplitScreen = 16777453, Key_Standby = 16777363, Key_Stop = 16777315,
  Key_Subtitle = 16777477, Key_Super_L = 16777299, Key_Super_R = 16777300, Key_Support = 16777454,
  Key_Suspend = 16777484, Key_SysReq = 16777226, Key_T = 84, Key_THORN = 222,
  Key_Tab = 16777217, Key_TaskPane = 16777455, Key_Terminal = 16777456, Key_Time = 16777479,
  Key_ToDoList = 16777420, Key_ToggleCallHangup = 17825799, Key_Tools = 16777457, Key_TopMenu = 16777482,
  Key_Touroku = 16781611, Key_Travel = 16777458, Key_TrebleDown = 16777335, Key_TrebleUp = 16777334,
  Key_U = 85, Key_UWB = 16777473, Key_Uacute = 218, Key_Ucircumflex = 219,
  Key_Udiaeresis = 220, Key_Ugrave = 217, Key_Underscore = 95, Key_Up = 16777235,
  Key_V = 86, Key_Video = 16777459, Key_View = 16777481, Key_VoiceDial = 17825800,
  Key_VolumeDown = 16777328, Key_VolumeMute = 16777329, Key_VolumeUp = 16777330, Key_W = 87,
  Key_WLAN = 16777472, Key_WWW = 16777403, Key_WakeUp = 16777400, Key_WebCam = 16777466,
  Key_Word = 16777460, Key_X = 88, Key_Xfer = 16777461, Key_Y = 89,
  Key_Yacute = 221, Key_Yes = 16842753, Key_Z = 90, Key_Zenkaku = 16781608,
  Key_Zenkaku_Hankaku = 16781610, Key_Zoom = 16908294, Key_ZoomIn = 16777462, Key_ZoomOut = 16777463,
  Key_acute = 180, Key_brokenbar = 166, Key_cedilla = 184, Key_cent = 162,
  Key_copyright = 169, Key_currency = 164, Key_degree = 176, Key_diaeresis = 168,
  Key_division = 247, Key_exclamdown = 161, Key_guillemotleft = 171, Key_guillemotright = 187,
  Key_hyphen = 173, Key_iTouch = 16777432, Key_macron = 175, Key_masculine = 186,
  Key_mu = 181, Key_multiply = 215, Key_nobreakspace = 160, Key_notsign = 172,
  Key_onehalf = 189, Key_onequarter = 188, Key_onesuperior = 185, Key_ordfeminine = 170,
  Key_paragraph = 182, Key_periodcentered = 183, Key_plusminus = 177, Key_questiondown = 191,
  Key_registered = 174, Key_section = 167, Key_ssharp = 223, Key_sterling = 163,
  Key_threequarters = 190, Key_threesuperior = 179, Key_twosuperior = 178, Key_unknown = 33554431,
  Key_ydiaeresis = 255, Key_yen = 165
}
  More...
 
enum  KeyboardModifier {
  AltModifier = 134217728, ControlModifier = 67108864, GroupSwitchModifier = 1073741824, KeyboardModifierMask = -33554432,
  KeypadModifier = 536870912, MetaModifier = 268435456, NoModifier = 0, ShiftModifier = 33554432
}
  More...
 
enum  LayoutDirection { LayoutDirectionAuto = 2, LeftToRight = 0, RightToLeft = 1 }
  More...
 
enum  MaskMode { MaskInColor = 0, MaskOutColor = 1 }
  More...
 
enum  MatchFlag {
  MatchCaseSensitive = 16, MatchContains = 1, MatchEndsWith = 3, MatchExactly = 0,
  MatchFixedString = 8, MatchRecursive = 64, MatchRegExp = 4, MatchStartsWith = 2,
  MatchWildcard = 5, MatchWrap = 32
}
  More...
 
enum  Modifier {
  ALT = 134217728, CTRL = 67108864, META = 268435456, MODIFIER_MASK = -33554432,
  SHIFT = 33554432, UNICODE_ACCEL = 0
}
  More...
 
enum  MouseButton {
  LeftButton = 1, MidButton = 4, MiddleButton = 4, MouseButtonMask = 255,
  NoButton = 0, RightButton = 2, XButton1 = 8, XButton2 = 16
}
  More...
 
enum  NavigationMode {
  NavigationModeCursorAuto = 3, NavigationModeCursorForceVisible = 4, NavigationModeKeypadDirectional = 2, NavigationModeKeypadTabOrder = 1,
  NavigationModeNone = 0
}
  More...
 
enum  Orientation { Horizontal = 1, Vertical = 2 }
  More...
 
enum  PenCapStyle { FlatCap = 0, MPenCapStyle = 48, RoundCap = 32, SquareCap = 16 }
  More...
 
enum  PenJoinStyle {
  BevelJoin = 64, MPenJoinStyle = 448, MiterJoin = 0, RoundJoin = 128,
  SvgMiterJoin = 256
}
  More...
 
enum  PenStyle {
  CustomDashLine = 6, DashDotDotLine = 5, DashDotLine = 4, DashLine = 2,
  DotLine = 3, MPenStyle = 15, NoPen = 0, SolidLine = 1
}
  More...
 
enum  ScrollBarPolicy { ScrollBarAlwaysOff = 1, ScrollBarAlwaysOn = 2, ScrollBarAsNeeded = 0 }
  More...
 
enum  ShortcutContext { ApplicationShortcut = 2, WidgetShortcut = 0, WidgetWithChildrenShortcut = 3, WindowShortcut = 1 }
  More...
 
enum  SizeHint {
  MaximumSize = 2, MinimumDescent = 3, MinimumSize = 0, NSizeHints = 4,
  PreferredSize = 1
}
  More...
 
enum  SizeMode { AbsoluteSize = 0, RelativeSize = 1 }
  More...
 
enum  SortOrder { AscendingOrder = 0, DescendingOrder = 1 }
  More...
 
enum  TextElideMode { ElideLeft = 0, ElideMiddle = 2, ElideNone = 3, ElideRight = 1 }
  More...
 
enum  TextFlag {
  TextBypassShaping = 1048576, TextDontClip = 512, TextDontPrint = 16384, TextExpandTabs = 1024,
  TextForceLeftToRight = 131072, TextForceRightToLeft = 262144, TextHideMnemonic = 32768, TextIncludeTrailingSpaces = 134217728,
  TextJustificationForced = 65536, TextLongestVariant = 524288, TextShowMnemonic = 2048, TextSingleLine = 256,
  TextWordWrap = 4096, TextWrapAnywhere = 8192
}
  More...
 
enum  TextFormat { AutoText = 2, LogText = 3, PlainText = 0, RichText = 1 }
  More...
 
enum  TextInteractionFlag {
  LinksAccessibleByKeyboard = 8, LinksAccessibleByMouse = 4, NoTextInteraction = 0, TextBrowserInteraction = 13,
  TextEditable = 16, TextEditorInteraction = 19, TextSelectableByKeyboard = 2, TextSelectableByMouse = 1
}
  More...
 
enum  TileRule { RepeatTile = 1, RoundTile = 2, StretchTile = 0 }
  More...
 
enum  TimeSpec { LocalTime = 0, OffsetFromUTC = 2, UTC = 1 }
 
enum  ToolBarArea {
  AllToolBarAreas = 15, BottomToolBarArea = 8, LeftToolBarArea = 1, NoToolBarArea = 0,
  RightToolBarArea = 2, ToolBarArea_Mask = 15, TopToolBarArea = 4
}
 
enum  ToolBarAreaSizes { NToolBarAreas = 4 }
 
enum  ToolButtonStyle {
  ToolButtonFollowStyle = 4, ToolButtonIconOnly = 0, ToolButtonTextBesideIcon = 2, ToolButtonTextOnly = 1,
  ToolButtonTextUnderIcon = 3
}
  More...
 
enum  TouchPointState {
  TouchPointMoved = 2, TouchPointPressed = 1, TouchPointPrimary = 16, TouchPointReleased = 8,
  TouchPointStateMask = 15, TouchPointStationary = 4
}
  More...
 
enum  TransformationMode { FastTransformation = 0, SmoothTransformation = 1 }
  More...
 
enum  UIEffect {
  UI_AnimateCombo = 3, UI_AnimateMenu = 1, UI_AnimateToolBox = 6, UI_AnimateTooltip = 4,
  UI_FadeMenu = 2, UI_FadeTooltip = 5, UI_General = 0
}
  More...
 
enum  WidgetAttribute {
  WA_AcceptDrops = 78, WA_AcceptTouchEvents = 121, WA_AlwaysShowToolTips = 84, WA_AttributeCount = 135,
  WA_AutoOrientation = 130, WA_CanHostQMdiSubWindowTitleBar = 95, WA_ContentsPropagated = 3, WA_CustomWhatsThis = 47,
  WA_DeleteOnClose = 55, WA_Disabled = 0, WA_DontCreateNativeAncestors = 101, WA_DontShowOnScreen = 103,
  WA_DropSiteRegistered = 79, WA_ForceAcceptDrops = 79, WA_ForceDisabled = 32, WA_ForceUpdatesDisabled = 59,
  WA_GrabbedShortcut = 50, WA_GroupLeader = 72, WA_Hover = 74, WA_InputMethodEnabled = 14,
  WA_InputMethodTransparent = 75, WA_InvalidSize = 45, WA_KeyCompression = 33, WA_KeyboardFocusChange = 77,
  WA_LaidOut = 7, WA_LayoutOnEntireRect = 48, WA_LayoutUsesWidgetRect = 92, WA_LockLandscapeOrientation = 129,
  WA_LockPortraitOrientation = 128, WA_MSWindowsUseDirect3D = 94, WA_MacAlwaysShowToolWindow = 96, WA_MacBrushedMetal = 46,
  WA_MacFrameworkScaled = 117, WA_MacMetalStyle = 46, WA_MacMiniSize = 91, WA_MacNoClickThrough = 12,
  WA_MacNoShadow = 134, WA_MacNormalSize = 89, WA_MacOpaqueSizeGrip = 85, WA_MacShowFocusRect = 88,
  WA_MacSmallSize = 90, WA_MacVariableSize = 102, WA_Mapped = 11, WA_MergeSoftkeys = 124,
  WA_MergeSoftkeysRecursively = 125, WA_MouseNoMask = 71, WA_MouseTracking = 2, WA_Moved = 43,
  WA_NativeWindow = 100, WA_NoBackground = 4, WA_NoChildEventsForParent = 58, WA_NoChildEventsFromChildren = 39,
  WA_NoMousePropagation = 73, WA_NoMouseReplay = 54, WA_NoSystemBackground = 9, WA_NoX11EventCompression = 81,
  WA_OpaquePaintEvent = 4, WA_OutsideWSRange = 49, WA_PaintOnScreen = 8, WA_PaintOutsidePaintEvent = 13,
  WA_PaintUnclipped = 52, WA_PendingMoveEvent = 34, WA_PendingResizeEvent = 35, WA_PendingUpdate = 44,
  WA_QuitOnClose = 76, WA_Resized = 42, WA_RightToLeft = 56, WA_SetCursor = 38,
  WA_SetFont = 37, WA_SetLayoutDirection = 57, WA_SetLocale = 87, WA_SetPalette = 36,
  WA_SetStyle = 86, WA_SetWindowIcon = 53, WA_SetWindowModality = 118, WA_ShowModal = 70,
  WA_ShowWithoutActivating = 98, WA_StaticContents = 5, WA_StyleSheet = 97, WA_StyledBackground = 93,
  WA_SymbianNoSystemRotation = 133, WA_TintedBackground = 82, WA_TouchPadAcceptSingleTouchEvents = 123, WA_TranslucentBackground = 120,
  WA_TransparentForMouseEvents = 51, WA_UnderMouse = 1, WA_UpdatesDisabled = 10, WA_WState_AcceptedTouchBeginEvent = 122,
  WA_WState_CompressKeys = 61, WA_WState_ConfigPending = 64, WA_WState_Created = 60, WA_WState_DND = 67,
  WA_WState_ExplicitShowHide = 69, WA_WState_Hidden = 16, WA_WState_InPaintEvent = 62, WA_WState_OwnSizePolicy = 68,
  WA_WState_Polished = 66, WA_WState_Reparented = 63, WA_WState_Visible = 15, WA_WState_WindowOpacitySet = 119,
  WA_WindowModified = 41, WA_WindowPropagation = 80, WA_X11BypassTransientForHint = 99, WA_X11DoNotAcceptFocus = 132,
  WA_X11NetWmWindowTypeCombo = 115, WA_X11NetWmWindowTypeDND = 116, WA_X11NetWmWindowTypeDesktop = 104, WA_X11NetWmWindowTypeDialog = 110,
  WA_X11NetWmWindowTypeDock = 105, WA_X11NetWmWindowTypeDropDownMenu = 111, WA_X11NetWmWindowTypeMenu = 107, WA_X11NetWmWindowTypeNotification = 114,
  WA_X11NetWmWindowTypePopupMenu = 112, WA_X11NetWmWindowTypeSplash = 109, WA_X11NetWmWindowTypeToolBar = 106, WA_X11NetWmWindowTypeToolTip = 113,
  WA_X11NetWmWindowTypeUtility = 108, WA_X11OpenGLOverlay = 83
}
  More...
 
enum  WindowFrameSection {
  BottomLeftSection = 8, BottomRightSection = 6, BottomSection = 7, LeftSection = 1,
  NoSection = 0, RightSection = 5, TitleBarArea = 9, TopLeftSection = 2,
  TopRightSection = 4, TopSection = 3
}
  More...
 
enum  WindowModality { ApplicationModal = 2, NonModal = 0, WindowModal = 1 }
  More...
 
enum  WindowState {
  WindowActive = 8, WindowFullScreen = 4, WindowMaximized = 2, WindowMinimized = 1,
  WindowNoState = 0
}
  More...
 
enum  WindowType {
  BypassGraphicsProxyWidget = 536870912, CustomizeWindowHint = 33554432, Desktop = 17, Dialog = 3,
  Drawer = 7, FramelessWindowHint = 2048, MSWindowsFixedSizeDialogHint = 256, MSWindowsOwnDC = 512,
  MacWindowToolBarButtonHint = 268435456, Popup = 9, Sheet = 5, SplashScreen = 15,
  SubWindow = 18, Tool = 11, ToolTip = 13, Widget = 0,
  Window = 1, WindowCancelButtonHint = 1048576, WindowCloseButtonHint = 134217728, WindowContextHelpButtonHint = 65536,
  WindowMaximizeButtonHint = 32768, WindowMinMaxButtonsHint = 49152, WindowMinimizeButtonHint = 16384, WindowOkButtonHint = 524288,
  WindowShadeButtonHint = 131072, WindowSoftkeysRespondHint = -2147483648, WindowSoftkeysVisibleHint = 1073741824, WindowStaysOnBottomHint = 67108864,
  WindowStaysOnTopHint = 262144, WindowSystemMenuHint = 8192, WindowTitleHint = 4096, WindowType_Mask = 255,
  X11BypassWindowManagerHint = 1024
}
  More...
 
- Protected Attributes inherited from QtCore.QObject
object Q_EMIT = null
 
SmokeInvocation interceptor
 
readonly List< QEventHandler > eventFilters = new List<QEventHandler>()
 

Detailed Description

The QUndoStack class is a stack of QUndoCommand objects.

For an overview of Qt's Undo Framework, see the overview document.

An undo stack maintains a stack of commands that have been applied to a document.

New commands are pushed on the stack using push(). Commands can be undone and redone using undo() and redo(), or by triggering the actions returned by createUndoAction() and createRedoAction().

QUndoStack keeps track of the current command. This is the command which will be executed by the next call to redo(). The index of this command is returned by index(). The state of the edited object can be rolled forward or back using setIndex(). If the top-most command on the stack has already been redone, index() is equal to count().

QUndoStack provides support for undo and redo actions, command compression, command macros, and supports the concept of a clean state.

Undo and Redo Actions

QUndoStack provides convenient undo and redo QAction objects, which can be inserted into a menu or a toolbar. When commands are undone or redone, QUndoStack updates the text properties of these actions to reflect what change they will trigger. The actions are also disabled when no command is available for undo or redo. These actions are returned by QUndoStack::createUndoAction() and QUndoStack::createRedoAction().

Command Compression and Macros

Command compression is useful when several commands can be compressed into a single command that can be undone and redone in a single operation. For example, when a user types a character in a text editor, a new command is created. This command inserts the character into the document at the cursor position. However, it is more convenient for the user to be able to undo or redo typing of whole words, sentences, or paragraphs. Command compression allows these single-character commands to be merged into a single command which inserts or deletes sections of text. For more information, see QUndoCommand::mergeWith() and push().

A command macro is a sequence of commands, all of which are undone and redone in one go. Command macros are created by giving a command a list of child commands. Undoing or redoing the parent command will cause the child commands to be undone or redone. Command macros may be created explicitly by specifying a parent in the QUndoCommand constructor, or by using the convenience functions beginMacro() and endMacro().

Although command compression and macros appear to have the same effect to the user, they often have different uses in an application. Commands that perform small changes to a document may be usefully compressed if there is no need to individually record them, and if only larger changes are relevant to the user. However, for commands that need to be recorded individually, or those that cannot be compressed, it is useful to use macros to provide a more convenient user experience while maintaining a record of each command.

Clean State

QUndoStack supports the concept of a clean state. When the document is saved to disk, the stack can be marked as clean using setClean(). Whenever the stack returns to this state through undoing and redoing commands, it emits the signal cleanChanged(). This signal is also emitted when the stack leaves the clean state. This signal is usually used to enable and disable the save actions in the application, and to update the document's title to reflect that it contains unsaved changes.

See also QUndoCommand and QUndoView.

Constructor & Destructor Documentation

QtGui.QUndoStack.QUndoStack ( System.Type  dummy)
protected
QtGui.QUndoStack.QUndoStack ( QObject  parent = null)

Constructs an empty undo stack with the parent parent. The stack will initially be in the clean state. If parent is a QUndoGroup object, the stack is automatically added to the group.

See also push().

Member Function Documentation

new void QtGui.QUndoStack.BeginMacro ( string  text)

Begins composition of a macro command with the given text description.

An empty command described by the specified text is pushed on the stack. Any subsequent commands pushed on the stack will be appended to the empty command's children until endMacro() is called.

Calls to beginMacro() and endMacro() may be nested, but every call to beginMacro() must have a matching call to endMacro().

While a macro is composed, the stack is disabled. This means that:

indexChanged() and cleanChanged() are not emitted,

canUndo() and canRedo() return false,

calling undo() or redo() has no effect,

the undo/redo actions are disabled.

The stack becomes enabled and appropriate signals are emitted when endMacro() is called for the outermost macro.

stack.beginMacro("insert red text");

stack.push(new InsertText(document, idx, text));

stack.push(new SetColor(document, idx, text.length(), Qt::red));

stack.endMacro(); // indexChanged() is emitted

This code is equivalent to:

QUndoCommand *insertRed = new QUndoCommand(); // an empty command

insertRed->setText("insert red text");

new InsertText(document, idx, text, insertRed); // becomes child of insertRed

new SetColor(document, idx, text.length(), Qt::red, insertRed);

stack.push(insertRed);

See also endMacro().

new bool QtGui.QUndoStack.CanRedo ( )

Returns true if there is a command available for redo; otherwise returns false.

This function returns false if the stack is empty or if the top command on the stack has already been redone.

Synonymous with index() == count().

See also index() and canUndo().

new bool QtGui.QUndoStack.CanUndo ( )

Returns true if there is a command available for undo; otherwise returns false.

This function returns false if the stack is empty, or if the bottom command on the stack has already been undone.

Synonymous with index() == 0.

See also index() and canRedo().

new int QtGui.QUndoStack.CleanIndex ( )

Returns the clean index. This is the index at which setClean() was called.

A stack may not have a clean index. This happens if a document is saved, some commands are undone, then a new command is pushed. Since push() deletes all the undone commands before pushing the new command, the stack can't return to the clean state again. In this case, this function returns -1.

See also isClean() and setClean().

new void QtGui.QUndoStack.Clear ( )

Clears the command stack by deleting all commands on it, and returns the stack to the clean state.

Commands are not undone or redone; the state of the edited object remains unchanged.

This function is usually used when the contents of the document are abandoned.

See also QUndoStack().

new QUndoCommand QtGui.QUndoStack.Command ( int  index)

Returns a const pointer to the command at index.

This function returns a const pointer, because modifying a command, once it has been pushed onto the stack and executed, almost always causes corruption of the state of the document, if the command is later undone or redone.

This function was introduced in Qt 4.4.

See also QUndoCommand::child().

new int QtGui.QUndoStack.Count ( )

Returns the number of commands on the stack. Macro commands are counted as one command.

See also index(), setIndex(), and command().

override void QtGui.QUndoStack.CreateProxy ( )
virtual

Reimplemented from QtCore.QObject.

new QAction QtGui.QUndoStack.CreateRedoAction ( QObject  parent,
string  prefix = "" 
)

Creates an redo QAction object with the given parent.

Triggering this action will cause a call to redo(). The text of this action is the text of the command which will be redone in the next call to redo(), prefixed by the specified prefix. If there is no command available for redo, this action will be disabled.

If prefix is empty, the default template "Redo %1" is used instead of prefix. Before Qt 4.8, the prefix "Redo" was used by default.

See also createUndoAction(), canRedo(), and QUndoCommand::text().

new QAction QtGui.QUndoStack.CreateUndoAction ( QObject  parent,
string  prefix = "" 
)

Creates an undo QAction object with the given parent.

Triggering this action will cause a call to undo(). The text of this action is the text of the command which will be undone in the next call to undo(), prefixed by the specified prefix. If there is no command available for undo, this action will be disabled.

If prefix is empty, the default template "Undo %1" is used instead of prefix. Before Qt 4.8, the prefix "Undo" was used by default.

See also createRedoAction(), canUndo(), and QUndoCommand::text().

new void QtGui.QUndoStack.Dispose ( )
new void QtGui.QUndoStack.EndMacro ( )

Ends composition of a macro command.

If this is the outermost macro in a set nested macros, this function emits indexChanged() once for the entire macro command.

See also beginMacro().

new bool QtGui.QUndoStack.IsClean ( )

If the stack is in the clean state, returns true; otherwise returns false.

See also setClean() and cleanIndex().

new void QtGui.QUndoStack.OnCanRedoChanged ( bool  canRedo)
protected

This signal is emitted whenever the value of canRedo() changes. It is used to enable or disable the redo action returned by createRedoAction(). canRedo specifies the new value.

new void QtGui.QUndoStack.OnCanUndoChanged ( bool  canUndo)
protected

This signal is emitted whenever the value of canUndo() changes. It is used to enable or disable the undo action returned by createUndoAction(). canUndo specifies the new value.

new void QtGui.QUndoStack.OnCleanChanged ( bool  clean)
protected

This signal is emitted whenever the stack enters or leaves the clean state. If clean is true, the stack is in a clean state; otherwise this signal indicates that it has left the clean state.

See also isClean() and setClean().

new void QtGui.QUndoStack.OnIndexChanged ( int  idx)
protected

This signal is emitted whenever a command modifies the state of the document. This happens when a command is undone or redone. When a macro command is undone or redone, or setIndex() is called, this signal is emitted only once.

idx specifies the index of the current command, ie. the command which will be executed on the next call to redo().

See also index() and setIndex().

new void QtGui.QUndoStack.OnRedoTextChanged ( string  redoText)
protected

This signal is emitted whenever the value of redoText() changes. It is used to update the text property of the redo action returned by createRedoAction(). redoText specifies the new text.

new void QtGui.QUndoStack.OnUndoTextChanged ( string  undoText)
protected

This signal is emitted whenever the value of undoText() changes. It is used to update the text property of the undo action returned by createUndoAction(). undoText specifies the new text.

new void QtGui.QUndoStack.Push ( QUndoCommand  cmd)

Pushes cmd on the stack or merges it with the most recently executed command. In either case, executes cmd by calling its redo() function.

If cmd's id is not -1, and if the id is the same as that of the most recently executed command, QUndoStack will attempt to merge the two commands by calling QUndoCommand::mergeWith() on the most recently executed command. If QUndoCommand::mergeWith() returns true, cmd is deleted.

In all other cases cmd is simply pushed on the stack.

If commands were undone before cmd was pushed, the current command and all commands above it are deleted. Hence cmd always ends up being the top-most on the stack.

Once a command is pushed, the stack takes ownership of it. There are no getters to return the command, since modifying it after it has been executed will almost always lead to corruption of the document's state.

See also QUndoCommand::id() and QUndoCommand::mergeWith().

new void QtGui.QUndoStack.Redo ( )

Redoes the current command by calling QUndoCommand::redo(). Increments the current command index.

If the stack is empty, or if the top command on the stack has already been redone, this function does nothing.

See also undo() and index().

new string QtGui.QUndoStack.RedoText ( )

Returns the text of the command which will be redone in the next call to redo().

See also QUndoCommand::actionText() and undoText().

new void QtGui.QUndoStack.SetClean ( )

Marks the stack as clean and emits cleanChanged() if the stack was not already clean.

Whenever the stack returns to this state through the use of undo/redo commands, it emits the signal cleanChanged(). This signal is also emitted when the stack leaves the clean state.

See also isClean() and cleanIndex().

new string QtGui.QUndoStack.Text ( int  idx)

Returns the text of the command at index idx.

See also beginMacro().

static string QtGui.QUndoStack.Tr ( string  s,
string  c = null 
)
static
static string QtGui.QUndoStack.Tr ( string  s,
string  c,
int  n 
)
static
static string QtGui.QUndoStack.TrUtf8 ( string  s,
string  c = null 
)
static
static string QtGui.QUndoStack.TrUtf8 ( string  s,
string  c,
int  n 
)
static
new void QtGui.QUndoStack.Undo ( )

Undoes the command below the current command by calling QUndoCommand::undo(). Decrements the current command index.

If the stack is empty, or if the bottom command on the stack has already been undone, this function does nothing.

See also redo() and index().

new string QtGui.QUndoStack.UndoText ( )

Returns the text of the command which will be undone in the next call to undo().

See also QUndoCommand::actionText() and redoText().

Property Documentation

new bool QtGui.QUndoStack.Active
getset

This property holds the active status of this stack.

An application often has multiple undo stacks, one for each opened document. The active stack is the one associated with the currently active document. If the stack belongs to a QUndoGroup, calls to QUndoGroup::undo() or QUndoGroup::redo() will be forwarded to this stack when it is active. If the QUndoGroup is watched by a QUndoView, the view will display the contents of this stack when it is active. If the stack does not belong to a QUndoGroup, making it active has no effect.

It is the programmer's responsibility to specify which stack is active by calling setActive(), usually when the associated document window receives focus.

Slot<System.Boolean> QtGui.QUndoStack.CanRedoChanged
addremove

This signal is emitted whenever the value of canRedo() changes. It is used to enable or disable the redo action returned by createRedoAction(). canRedo specifies the new value.

Slot<System.Boolean> QtGui.QUndoStack.CanUndoChanged
addremove

This signal is emitted whenever the value of canUndo() changes. It is used to enable or disable the undo action returned by createUndoAction(). canUndo specifies the new value.

Slot<System.Boolean> QtGui.QUndoStack.CleanChanged
addremove

This signal is emitted whenever the stack enters or leaves the clean state. If clean is true, the stack is in a clean state; otherwise this signal indicates that it has left the clean state.

See also isClean() and setClean().

new IQUndoStackSignals QtGui.QUndoStack.Emit
getprotected
new int QtGui.QUndoStack.Index
getset

Returns the index of the current command. This is the command that will be executed on the next call to redo(). It is not always the top-most command on the stack, since a number of commands may have been undone.

Repeatedly calls undo() or redo() until the current command index reaches idx. This function can be used to roll the state of the document forwards of backwards. indexChanged() is emitted only once.

Slot<System.Int32> QtGui.QUndoStack.IndexChanged
addremove

This signal is emitted whenever a command modifies the state of the document. This happens when a command is undone or redone. When a macro command is undone or redone, or setIndex() is called, this signal is emitted only once.

idx specifies the index of the current command, ie. the command which will be executed on the next call to redo().

See also index() and setIndex().

Slot<System.String> QtGui.QUndoStack.RedoTextChanged
addremove

This signal is emitted whenever the value of redoText() changes. It is used to update the text property of the redo action returned by createRedoAction(). redoText specifies the new text.

new QMetaObject QtGui.QUndoStack.StaticMetaObject
staticget
new int QtGui.QUndoStack.UndoLimit
getset

This property holds the maximum number of commands on this stack.

When the number of commands on a stack exceedes the stack's undoLimit, commands are deleted from the bottom of the stack. Macro commands (commands with child commands) are treated as one command. The default value is 0, which means that there is no limit.

This property may only be set when the undo stack is empty, since setting it on a non-empty stack might delete the command at the current index. Calling setUndoLimit() on a non-empty stack prints a warning and does nothing.

This property was introduced in Qt 4.3.

Slot<System.String> QtGui.QUndoStack.UndoTextChanged
addremove

This signal is emitted whenever the value of undoText() changes. It is used to update the text property of the undo action returned by createUndoAction(). undoText specifies the new text.