Home modules.gotpike.org
Username: Password: [Create Account]
[Forgot Password?]

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.15.1/module.pmod.in

/*
 * $Id$
 *
 * 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


gotpike.org | Copyright © 2004 - 2019 | Pike is a trademark of Department of Computer and Information Science, Linköping University