ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cf.schmorp.de/gde/gce
Revision: 1.16
Committed: Thu Feb 23 15:56:58 2006 UTC (18 years, 4 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.15: +0 -0 lines
State: FILE REMOVED
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/opt/bin/perl
2 =head1 NAME
3
4 gce - gtk (perl) crossfire editor
5
6 =cut
7
8 our $VERSION='0.1';
9
10 use Gtk2 -init;
11
12 use Crossfire;
13 use Crossfire::Tilecache;
14
15 our $VARDIR = "$ENV{HOME}/.gcfedit";
16
17 mkdir $VARDIR;
18 our $PICKDIR = "$Crossfire::LIB/maps/editor/picks";
19 our $CFG;
20 our $MAINWIN;
21
22 use GCE::MainWindow;
23 use Data::Dumper;
24
25 read_cfg ($VARDIR . '/config');
26 my $w = GCE::MainWindow->new;
27
28 $w->load_layout;
29
30 $w->show_all;
31
32 Gtk2->main;
33
34 sub read_cfg {
35 my ($file) = @_;
36
37 open CFG, $file
38 or return;
39
40 $CFG = eval join '', <CFG>;
41
42 close CFG;
43 }
44
45 sub write_cfg {
46 my ($file) = @_;
47
48 open CFG, ">$file"
49 or return;
50
51 {
52 local $Data::Dumper::Purity = 1;
53 print CFG Data::Dumper->Dump ([$CFG], [qw/CFG/]);
54 }
55
56 close CFG;
57 }
58
59 # following 2 functions are taken from CV :)
60 sub find_rcfile($) {
61 my $path;
62
63 for (@INC) {
64
65 $path = "$_/GCE/$_[0]";
66 return $path if -r $path;
67 }
68
69 die "FATAL: can't find required file $_[0]\n";
70 }
71
72 sub require_image($) {
73 new_from_file Gtk2::Gdk::Pixbuf find_rcfile "images/$_[0]";
74 }
75
76 sub get_pos_and_size {
77 my ($window) = @_;
78
79 my ($x, $y) = $window->get_position;
80 my ($w, $h) = $window->get_size;
81
82 return [$x, $y, $w, $h];
83 }
84
85 sub set_pos_and_size {
86 my ($window, $p_and_s) = @_;
87
88 $window->set_default_size ($p_and_s->[2], $p_and_s->[3]);
89
90 # FIXME: This sucks, moving it after showing it can't be a good thing.
91 $window->show_all;
92 $window->move ($p_and_s->[0], $p_and_s->[1]);
93 }
94
95 =head1 AUTHOR
96
97 Marc Lehmann <schmorp@schmorp.de>
98 http://home.schmorp.de/
99
100 Robin Redeker <elmex@ta-sa.org>
101 http://www.ta-sa.org/
102
103 =cut