You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebindings/qtsharp/src/bindings/static/TQObject.cs

610 lines
20 KiB

// TQObject.cs - A Qt to C# binding.
//
// Copyright (C) 2002 Adam Treat (manyoso@yahoo.com)
//
// 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.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// Regenerated by Adam Treat on August 30 2002
//
// NOTES
// o Methods related to Qt reflection have been marked internal. Most of them
// should eventually be throttled, and this file regenerated
// o Some event-related methods are also marked internal. I don't think we use
// any of them, they can likely be throttled.
//
// TODO
// o Should use children() in object tree tracking for constructing
// complete tree representations.
namespace Qt {
using Qt;
using System;
using System.Collections;
using System.Runtime.InteropServices;
//[DeclareQtSignal ("ChildDestroyed(TQObject)")]
public class TQObject : QtSupport, IDisposable {
// Hold an instance of the TQApplication object
private static TQApplication qapp;
private QtSignalMap csSignalMap;
private QtSignalMap cppSignalMap;
public static TQApplication tqApp {
get {return qapp;}
set {qapp = value;}
}
internal QtSignalMap CsSignalMap {
get { return csSignalMap; }
}
internal QtSignalMap CppSignalMap {
get { return cppSignalMap; }
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_new_QObject (IntPtr parent, string name);
public TQObject (TQObject parent, string name) : this (TQNull.Instance)
{
qparent = parent;
if (qparent == null)
parent = new TQWidget (IntPtr.Zero);
else
qparent.AddChild (this);
rawObject = qt_new_QObject (parent.RawObject, name);
RegisterObject (this);
}
public TQObject (TQObject parent) : this (parent, "") {}
internal TQObject () : this (TQNull.Instance) {}
internal TQObject (IntPtr ptr) : this (TQNull.Instance)
{
rawObject = ptr;
RegisterObject (this);
}
internal TQObject (TQNull dummy) : base (TQNull.Instance)
{
InitSignals ();
}
// FIXME This ctor used only by QtSignal
internal TQObject (NoSignalInit dummy) : base (TQNull.Instance)
{
rawObject = qt_new_QObject (IntPtr.Zero, "");
RegisterObject (this);
}
~TQObject ()
{
Dispose(false);
}
protected override void Dispose (bool disposeManaged)
{
if (disposed)
return;
if (rawObject == IntPtr.Zero)
deleted = true;
if (disposeManaged) {
disposed = true;
UnregisterObject (this);
if (qparent != null ) {
if (qparent.Disposed)
deleted = true;
else
qparent.RemoveChild (this);
}
Disconnect ();
foreach (QtSupport qts in qchildren)
qts.Dispose ();
// UnregisterObject (); // FIXME
}
/*
DbgMsg ("({0}) {1}:: {2} managed. {3} native instance.",
deleted ? IntPtr.Zero : rawObject,
this,
disposeManaged ? "Disposing" : "Not disposing",
deleted ? "Not deleting" : "Deleting");
*/
qparent = null;
qchildren = null;
Delete ();
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_del_QObject (IntPtr obj);
internal override void Delete ()
{
if (deleted) return;
qt_del_QObject (rawObject);
deleted = true;
}
private void InitSignals ()
{
csSignalMap = new QtSignalMap (this, "C# Signals");
cppSignalMap = new QtSignalMap (this, "C++ Signals");
object[] attrs = GetType ().GetCustomAttributes (typeof (DeclareQtSignalAttribute), true);
foreach (DeclareQtSignalAttribute attr in attrs) {
string signal = attr.SignalName;
if (!CsSignalMap.Contains (signal))
CsSignalMap[signal] = new QtSignal (this, signal);
}
}
// [QtSlot]
internal protected void NativeDestroyed ()
{
deleted = true;
Dispose ();
}
public TQObject QtCast()
{
string QtType = this.ClassName();
Type newType = Type.GetType( "Qt." + QtType );
object[] paramArray = { this.RawObject };
return (TQObject) Activator.CreateInstance( newType, paramArray );
}
public static bool Connect(TQObject sender, string signal, TQObject receiver, string slot)
{
return QtSignal.Connect(sender, signal, receiver, slot);
}
public bool Connect (TQObject sender, string signal, string member)
{
return Connect (sender, signal, this, member);
}
public static bool Disconnect(TQObject sender, string signal, TQObject receiver, string slot)
{
return QtSignal.Disconnect(sender, signal, receiver, slot);
}
public bool Disconnect ()
{
return Disconnect (this, null, null, null);
}
public bool Disconnect (string signal, TQObject receiver, string member)
{
return Disconnect(this, signal, receiver, member);
}
public bool Disconnect (TQObject receiver, string slot)
{
return Disconnect (this, null, receiver, slot);
}
public void Emit (string signal, params object[] args)
{
string sig = signal.Replace (" ", "");
if (CsSignalMap.Contains (sig))
CsSignalMap[sig].Emit (args);
else
throw new ArgumentException (this+" does not emit requested signal '"+sig+"'");
}
public void DumpConnections()
{
ErrMsg ("** ({0}) {1}: Dumping '{2}' map.", rawObject, this, CsSignalMap.Name);
CsSignalMap.DumpMap ();
ErrMsg ("** ({0}) {1}: Dumping '{2}' map.", rawObject, this, CppSignalMap.Name);
CppSignalMap.DumpMap ();
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern string qt_QObject_className (IntPtr raw);
public string ClassName ()
{
return qt_QObject_className (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_tr (IntPtr raw, string arg1, string arg2);
public string Tr (string arg1, string arg2)
{
TQString qstr = new TQString (qt_QObject_tr (rawObject, arg1, arg2));
string str = qstr.Latin1 ();
qstr.Dispose ();
return str;
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_trUtf8 (IntPtr raw, string arg1, string arg2);
public string TrUtf8 (string arg1, string arg2)
{
TQString qstr = new TQString (qt_QObject_trUtf8 (rawObject, arg1, arg2));
string str = qstr.Latin1 ();
qstr.Dispose ();
return str;
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_metaObject (IntPtr raw);
public TQMetaObject MetaObject ()
{
return (TQMetaObject)LookupObject (qt_QObject_metaObject (rawObject), typeof(TQMetaObject));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_event (IntPtr raw, IntPtr arg1);
public bool Q_event (TQEvent arg1)
{
return qt_QObject_event (rawObject, arg1.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_eventFilter (IntPtr raw, IntPtr arg1, IntPtr arg2);
public bool EventFilter (TQObject arg1, TQEvent arg2)
{
return qt_QObject_eventFilter (rawObject, arg1.RawObject, arg2.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_isA (IntPtr raw, string arg1);
public bool IsA (string arg1)
{
return qt_QObject_isA (rawObject, arg1);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_inherits (IntPtr raw, string arg1);
public bool Inherits (string arg1)
{
return qt_QObject_inherits (rawObject, arg1);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern string qt_QObject_name (IntPtr raw);
public string Name ()
{
return qt_QObject_name (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern string qt_QObject_name1 (IntPtr raw, string defaultName);
public string Name (string defaultName)
{
return qt_QObject_name1 (rawObject, defaultName);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_setName (IntPtr raw, string name);
public void SetName (string name)
{
qt_QObject_setName (rawObject, name);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_isWidgetType (IntPtr raw);
public bool IsWidgetType ()
{
return qt_QObject_isWidgetType (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_highPriority (IntPtr raw);
public bool HighPriority ()
{
return qt_QObject_highPriority (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_signalsBlocked (IntPtr raw);
public bool SignalsBlocked ()
{
return qt_QObject_signalsBlocked (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_blockSignals (IntPtr raw, bool b);
public void BlockSignals (bool b)
{
qt_QObject_blockSignals (rawObject, b);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern int qt_QObject_startTimer (IntPtr raw, int interval);
public int StartTimer (int interval)
{
return qt_QObject_startTimer (rawObject, interval);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_killTimer (IntPtr raw, int identifier);
public void KillTimer (int identifier)
{
qt_QObject_killTimer (rawObject, identifier);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_killTimers (IntPtr raw);
public void KillTimers ()
{
qt_QObject_killTimers (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_child (IntPtr raw, string objName, string inheritsClass, bool recursiveSearch);
public TQObject Child (string objName, string inheritsClass, bool recursiveSearch)
{
return (TQObject)LookupObject (qt_QObject_child (rawObject, objName, inheritsClass, recursiveSearch), typeof(TQObject));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_children (IntPtr raw);
public TQObjectList Children ()
{
return (TQObjectList)LookupObject (qt_QObject_children (rawObject), typeof(TQObjectList));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_queryList (IntPtr raw, string inheritsClass, string objName, bool regexpMatch, bool recursiveSearch);
public TQObjectList QueryList (string inheritsClass, string objName, bool regexpMatch, bool recursiveSearch)
{
return (TQObjectList)LookupObject (qt_QObject_queryList (rawObject, inheritsClass, objName, regexpMatch, recursiveSearch), typeof(TQObjectList));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_insertChild (IntPtr raw, IntPtr arg1);
public void InsertChild (TQObject arg1)
{
qt_QObject_insertChild (rawObject, arg1.RawObject);
}
/*[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_removeChild (IntPtr raw, IntPtr arg1);
public void RemoveChild (TQObject arg1)
{
qt_QObject_removeChild (rawObject, arg1.RawObject);
}*/
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_installEventFilter (IntPtr raw, IntPtr arg1);
public void InstallEventFilter (TQObject arg1)
{
qt_QObject_installEventFilter (rawObject, arg1.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_removeEventFilter (IntPtr raw, IntPtr arg1);
public void RemoveEventFilter (TQObject arg1)
{
qt_QObject_removeEventFilter (rawObject, arg1.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_dumpObjectTree (IntPtr raw);
public void DumpObjectTree ()
{
qt_QObject_dumpObjectTree (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_dumpObjectInfo (IntPtr raw);
public void DumpObjectInfo ()
{
qt_QObject_dumpObjectInfo (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_setProperty (IntPtr raw, string name, IntPtr value);
public bool SetProperty (string name, TQVariant value)
{
return qt_QObject_setProperty (rawObject, name, value.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_property (IntPtr raw, string name);
public TQVariant Property (string name)
{
return (TQVariant)LookupObject (qt_QObject_property (rawObject, name), typeof(TQVariant));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_parent (IntPtr raw);
public TQObject Parent ()
{
return (TQObject)LookupObject (qt_QObject_parent (rawObject), typeof(TQObject));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_deleteLater (IntPtr raw);
public void DeleteLater ()
{
qt_QObject_deleteLater (rawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_objectTrees ();
public static TQObjectList ObjectTrees ()
{
return (TQObjectList)LookupObject (qt_QObject_objectTrees (), typeof(TQObjectList));
}
/*FIXME
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_connectInternal (IntPtr sender, int signal_index, IntPtr receiver, int membcode, int member_index);
public static void ConnectInternal (TQObject sender, int signal_index, TQObject receiver, int membcode, int member_index)
{
qt_QObject_connectInternal (sender.RawObject, signal_index, receiver.RawObject, membcode, member_index);
}
*/
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_activate_filters (IntPtr raw, IntPtr arg1);
protected bool Activate_filters (TQEvent arg1)
{
return qt_QObject_activate_filters (rawObject, arg1.RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_receivers (IntPtr raw, string signal);
protected TQConnectionList Receivers (string signal)
{
return (TQConnectionList)LookupObject (qt_QObject_receivers (rawObject, signal), typeof(TQConnectionList));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_receivers1 (IntPtr raw, int signal);
protected TQConnectionList Receivers (int signal)
{
return (TQConnectionList)LookupObject (qt_QObject_receivers1 (rawObject, signal), typeof(TQConnectionList));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal (IntPtr raw, int signal);
protected void Activate_signal (int signal)
{
qt_QObject_activate_signal (rawObject, signal);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal1 (IntPtr raw, int signal, int arg1);
protected void Activate_signal (int signal, int arg1)
{
qt_QObject_activate_signal1 (rawObject, signal, arg1);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal2 (IntPtr raw, int signal, double arg1);
protected void Activate_signal (int signal, double arg1)
{
qt_QObject_activate_signal2 (rawObject, signal, arg1);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal3 (IntPtr raw, int signal, IntPtr arg1);
protected void Activate_signal (int signal, string arg1)
{
qt_QObject_activate_signal3 (rawObject, signal, new TQString (arg1).RawObject);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal_bool (IntPtr raw, int signal, bool arg1);
protected void Activate_signal_bool (int signal, bool arg1)
{
qt_QObject_activate_signal_bool (rawObject, signal, arg1);
}
/*
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_activate_signal4 (IntPtr raw, IntPtr clist, IntPtr o);
protected void Activate_signal (TQConnectionList clist, IntPtr o)
{
qt_QObject_activate_signal4 (rawObject, clist.RawObject, o);
}
*/
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_sender (IntPtr raw);
protected TQObject Sender ()
{
return (TQObject)LookupObject (qt_QObject_sender (rawObject), typeof(TQObject));
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_connectNotify (IntPtr raw, string signal);
protected void ConnectNotify (string signal)
{
qt_QObject_connectNotify (rawObject, signal);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern void qt_QObject_disconnectNotify (IntPtr raw, string signal);
protected void DisconnectNotify (string signal)
{
qt_QObject_disconnectNotify (rawObject, signal);
}
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern bool qt_QObject_checkConnectArgs (IntPtr raw, string signal, IntPtr receiver, string member);
protected bool CheckConnectArgs (string signal, TQObject receiver, string member)
{
return qt_QObject_checkConnectArgs (rawObject, signal, receiver.RawObject, member);
}
/*
[DllImport("libtqtc", CharSet=CharSet.Ansi)]
private static extern IntPtr qt_QObject_normalizeSignalSlot (string signalSlot);
protected static TQCString NormalizeSignalSlot (string signalSlot)
{
return (TQCString)LookupObject (qt_QObject_normalizeSignalSlot (signalSlot), typeof(TQCString));
}
*/
public TQObject Child (string objName)
{
return Child(objName, null);
}
public TQObject Child (string objName, string inheritsClass)
{
return Child(objName, inheritsClass, true);
}
public TQObjectList QueryList ()
{
return QueryList("");
}
public TQObjectList QueryList (string inheritsClass)
{
return QueryList(inheritsClass, "");
}
public TQObjectList QueryList (string inheritsClass, string objName)
{
return QueryList(inheritsClass, objName, true);
}
public TQObjectList QueryList (string inheritsClass, string objName, bool regexpMatch)
{
return QueryList(inheritsClass, objName, regexpMatch, true);
}
}
// FIXME Used only by QtSignal
internal class NoSignalInit
{
public static readonly NoSignalInit Instance = new NoSignalInit ();
}
}