Modules
ADT Database GTK2 GUI IP PiJAX Public Sql Stdio Subversion System Tools Xosd lua v4l2 wx
Recent Changes
Public.Parser.XML2 1.50
Public.ZeroMQ 1.1
Public.Template.Mustache 1.0
Public.Protocols.XMPP 1.4
Sql.Provider.jdbc 1.0
Popular Downloads
Public.Parser.JSON2 1.0
Public.Parser.JSON 0.2
GTK2 2.23
Public.Web.FCGI 1.8
Public.Parser.XML2 1.48
|
Module Information
GTK2
Viewing contents of GTK2-2.23/module.pmod.in
/*
* $Id: module.pmod.in,v 1.1 2005/07/28 15:26:09 nilsson Exp $
*
* GTK2 glue code.
*/
#pike __REAL_VERSION__
#if constant(@module@.Widget)
string unsillycaps(string what)
{
string res=upper_case(what[0..0]);
foreach(what[1..]/"", string q)
if(lower_case(q)==q)
res += q;
else
res += "_"+lower_case(q);
return res;
}
inherit @module@;
#define INDEX(x) predef::`->(this_object(),(x))
array(string) setup_gtk(array(string)|string|void name, int|void norc)
{
array res;
if(stringp(name))
name = ({ name });
if(name)
res = ::setup_gtk(name);
else
res = ::setup_gtk();
if(!norc)
{
if(file_stat( getenv("HOME")+"/.pgtkrc" ))
parse_rc( cpp(Stdio.read_bytes(getenv("HOME")+"/.pgtkrc")) ||"");
else if(file_stat( getenv("HOME")+"/.gtkrc" ))
parse_rc( Stdio.read_bytes(getenv("HOME")+"/.gtkrc") );
}
return res;
}
mixed `[](string what)
{
if(what == "destroy")
if(sizeof(backtrace())>2)
{
werror(describe_backtrace(backtrace()));
return s_destroy;
}
else
return ([])[0];
if(what == "_module_value") return ([])[0];
if(!zero_type(INDEX(what)))
return INDEX(what);
if(!zero_type(INDEX("s_"+what)))
return INDEX("s_"+what);
if(!zero_type(INDEX(upper_case(what))))
return INDEX(upper_case(what));
//if(!zero_type(INDEX(unsillycaps(what))))
// return INDEX(unsillycaps(what));
if(!zero_type(INDEX(upper_case(unsillycaps(what)))))
return INDEX(upper_case(unsillycaps(what)));
// return GTKSupport[what];
}
#endif
|
|
|