- changing MaxInstructions to 100 for cthulhain (crazy nut) =:)
[bbkeys.git] / src / Baseresource.hh
blob796602ed541680d804f5e4eb3bd30a9b37621247
1 // Baseresource.hh for bbtools - tools to display resources in X11.
2 //
3 // Copyright (c) 1998-1999 John Kennis, jkennis@chello.nl
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 // (See the included file COPYING / GPL-2.0)
21 // $Id$
23 #ifndef __BASERESOURCE_HH
24 #define __BASERESOURCE_HH
26 #define BBTOOLS 1
27 #define BLACKBOX 2
29 #define BBTOOL_LOCAL ".bbtools/bbkeys.nobb"
30 #define BLACKBOX_LOCAL ".bbtools/bbkeys.bb"
32 #include "Timer.hh"
34 class ToolWindow;
35 class BImageControl;
37 struct STYLE {
38 bool auto_config;
39 bool honor_modifiers;
40 char *conf_filename;
41 char *style_filename;
42 time_t mtime;
45 class BaseResource : public TimeoutHandler {
47 public:
48 BaseResource(ToolWindow *);
49 virtual ~BaseResource(void);
51 void CopyColor(BColor *,BColor *);
52 void CopyTexture(BTexture ,BTexture *);
53 void Reload(void);
54 STYLE style;
56 protected:
57 void Load(void);
58 void readDatabaseColor(char *, char *, BColor *);
59 void readDatabaseTexture(char *, char *,BTexture *);
60 void readColor(char *,char *, char *,char *,char *,BColor *);
61 void readTexture(char *,char *, char *,char *,char *,char *,char *,
62 BTexture *);
65 ToolWindow *bbtool;
66 XrmDatabase resource_db;
67 XrmDatabase db;
69 virtual void LoadBBToolResource(void) = 0;
70 virtual void timeout(void);
71 private:
72 bool ReadResourceFromFilename(char *, char *);
73 void ReadBBtoolResource(void);
74 void ReadDefaultResource(void);
75 void ReadBlackboxResource(void);
76 BImageControl *image_control;
77 int ResourceType;
78 BTimer *timer;
79 int check_timeout;
80 time_t mtime;
81 struct stat file_status;
82 bool auto_config;
85 #endif /* __BASERESOURCE_HH */