//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QTextFrame")]
    public class QTextFrame : QTextObject, IDisposable {
        protected QTextFrame(Type dummy) : base((Type) null) {}
        [SmokeClass("QTextFrame::iterator")]
        public class iterator : Object, IDisposable {
            protected SmokeInvocation interceptor = null;
            private IntPtr smokeObject;
            protected iterator(Type dummy) {}
            protected void CreateProxy() {
                interceptor = new SmokeInvocation(typeof(iterator), this);
            }
            private static SmokeInvocation staticInterceptor = null;
            static iterator() {
                staticInterceptor = new SmokeInvocation(typeof(iterator), null);
            }
            public iterator() : this((Type) null) {
                CreateProxy();
                interceptor.Invoke("iterator", "iterator()", typeof(void));
            }
            public iterator(QTextFrame.iterator o) : this((Type) null) {
                CreateProxy();
                interceptor.Invoke("iterator#", "iterator(const QTextFrame::iterator&)", typeof(void), typeof(QTextFrame.iterator), o);
            }
            public QTextFrame ParentFrame() {
                return (QTextFrame) interceptor.Invoke("parentFrame", "parentFrame() const", typeof(QTextFrame));
            }
            public QTextFrame CurrentFrame() {
                return (QTextFrame) interceptor.Invoke("currentFrame", "currentFrame() const", typeof(QTextFrame));
            }
            public QTextBlock CurrentBlock() {
                return (QTextBlock) interceptor.Invoke("currentBlock", "currentBlock() const", typeof(QTextBlock));
            }
            public bool AtEnd() {
                return (bool) interceptor.Invoke("atEnd", "atEnd() const", typeof(bool));
            }
            public override bool Equals(object o) {
                if (!(o is iterator)) { return false; }
                return this == (iterator) o;
            }
            public override int GetHashCode() {
                return interceptor.GetHashCode();
            }
            ~iterator() {
                interceptor.Invoke("~iterator", "~iterator()", typeof(void));
            }
            public void Dispose() {
                interceptor.Invoke("~iterator", "~iterator()", typeof(void));
            }
            public static bool operator==(iterator lhs, QTextFrame.iterator o) {
                return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QTextFrame::iterator&) const", typeof(bool), typeof(iterator), lhs, typeof(QTextFrame.iterator), o);
            }
            public static bool operator!=(iterator lhs, QTextFrame.iterator o) {
                return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QTextFrame::iterator&) const", typeof(bool), typeof(iterator), lhs, typeof(QTextFrame.iterator), o);
            }
            public static QTextFrame.iterator operator++(iterator lhs) {
                return (QTextFrame.iterator) staticInterceptor.Invoke("operator++", "operator++()", typeof(QTextFrame.iterator), typeof(iterator), lhs);
            }
            public static QTextFrame.iterator operator--(iterator lhs) {
                return (QTextFrame.iterator) staticInterceptor.Invoke("operator--", "operator--()", typeof(QTextFrame.iterator), typeof(iterator), lhs);
            }
        }
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTextFrame), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QTextFrame() {
            staticInterceptor = new SmokeInvocation(typeof(QTextFrame), null);
        }
        // QTextFrame* QTextFrame(QTextFramePrivate& arg1,QTextDocument* arg2); >>>> NOT CONVERTED
        public QTextFrame(QTextDocument doc) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTextFrame#", "QTextFrame(QTextDocument*)", typeof(void), typeof(QTextDocument), doc);
        }
        public void SetFrameFormat(QTextFrameFormat format) {
            interceptor.Invoke("setFrameFormat#", "setFrameFormat(const QTextFrameFormat&)", typeof(void), typeof(QTextFrameFormat), format);
        }
        public QTextFrameFormat FrameFormat() {
            return (QTextFrameFormat) interceptor.Invoke("frameFormat", "frameFormat() const", typeof(QTextFrameFormat));
        }
        public QTextCursor FirstCursorPosition() {
            return (QTextCursor) interceptor.Invoke("firstCursorPosition", "firstCursorPosition() const", typeof(QTextCursor));
        }
        public QTextCursor LastCursorPosition() {
            return (QTextCursor) interceptor.Invoke("lastCursorPosition", "lastCursorPosition() const", typeof(QTextCursor));
        }
        public int FirstPosition() {
            return (int) interceptor.Invoke("firstPosition", "firstPosition() const", typeof(int));
        }
        public int LastPosition() {
            return (int) interceptor.Invoke("lastPosition", "lastPosition() const", typeof(int));
        }
        public QTextFrameLayoutData LayoutData() {
            return (QTextFrameLayoutData) interceptor.Invoke("layoutData", "layoutData() const", typeof(QTextFrameLayoutData));
        }
        public void SetLayoutData(QTextFrameLayoutData data) {
            interceptor.Invoke("setLayoutData#", "setLayoutData(QTextFrameLayoutData*)", typeof(void), typeof(QTextFrameLayoutData), data);
        }
        public List<QTextFrame> ChildFrames() {
            return (List<QTextFrame>) interceptor.Invoke("childFrames", "childFrames() const", typeof(List<QTextFrame>));
        }
        public QTextFrame ParentFrame() {
            return (QTextFrame) interceptor.Invoke("parentFrame", "parentFrame() const", typeof(QTextFrame));
        }
        public QTextFrame.iterator Begin() {
            return (QTextFrame.iterator) interceptor.Invoke("begin", "begin() const", typeof(QTextFrame.iterator));
        }
        public QTextFrame.iterator End() {
            return (QTextFrame.iterator) interceptor.Invoke("end", "end() const", typeof(QTextFrame.iterator));
        }
        ~QTextFrame() {
            interceptor.Invoke("~QTextFrame", "~QTextFrame()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QTextFrame", "~QTextFrame()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQTextFrameSignals Emit {
            get { return (IQTextFrameSignals) Q_EMIT; }
        }
    }

    public interface IQTextFrameSignals : IQTextObjectSignals {
    }
}
