File: README

package info (click to toggle)
calcoo 1.3.18-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,124 kB
  • ctags: 628
  • sloc: ansic: 5,190; sh: 3,307; makefile: 99
file content (174 lines) | stat: -rw-r--r-- 5,900 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
Calcoo - Scientific calculator (GTK+)

Copyright (C) 2001 - 2007 Alexei Kaminski <alexei.kaminski@gmail.com>

TABLE OF CONTENTS
*****************

1. What is Calcoo?
2. License
3. Installation
4. Source
5. Bugs and bug reports
6. Apologies

1. What is Calcoo?
------------------

Calcoo is a scientific calculator designed to provide maximum
usability.  The features that make Calcoo better than (at least some)
other calculator programs are:

* Bitmapped button labels and display digits to improve readability.

* No double-function buttons. As the result, you need to click only one 
  button for any operation (except for arc-hyp trigonometric
  functions).

* Undo/redo buttons.

* Copy/paste interaction with X the clipboard.

* Both RPN (reverse Polish notation) and algebraic modes are available

* Tick marks to separate thousands.                                  

* Two memory registers with displays.

* Displays for Y, Z, and T registers.

* It is a purely scientific calculator. There are no buttons for the 
  hexadecimal digits (ABCDEF) and logical operations, which take space
  and distract from "scientific" buttons.

Features that Calcoo lacks:

* Statistical mode. Use some other program for it; it is hard to imagine
  any program less suitable for statistical processing of data than a
  calculator emulator.

* HEX mode. Scientific and and hexadecimal operations are hardly compatible.
  Has anyone ever calculated sin(FF)? Or Pi AND Sqrt(5)? If I create a HEX 
  calculator on the base of Calcoo, it will be a separate program.

2. License
----------

    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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA

3. Installation
---------------

To begin with, you may wish to change something in the file defaults.h.
It is perfectly Ok to leave it as it is, though.

For the brave and impatient:

	./configure --prefix=<install_dir>
	make
	make install

The only file of Calcoo's binary, "calcoo", will be put in
<install_dir>/bin/.  If the "--prefix" part is omitted, it will be
/usr/local/bin (you probably have to be root to do it). If you want to
install Calcoo in your home directory, use --prefix=$HOME ; Calcoo
will be put into $HOME/bin/ then. If the compilation works to the end,
but the installation fails for some reason, just copy the executable
file src/calcoo (it is the only file calcoo needs for work) to some
directory from your $PATH).

On FreeBSD, file "gtk-config" used by the configure script may be
"gtk12-config". If configure reports absense of "gtk-config" and you do 
have gtk1.2 installed, create a symlink. 

For the patient:

	Look into INSTALL file.

For the experienced:

	There is nothing non-standard in INSTALL. The installation 
scripts are produced by standard manipulations with autoconf and automake.


4. Source
---------

Calcoo is written in C. It uses GTK+ widget library, version 2.x.

The homepage of Calcoo project is located at http://calcoo.sourceforge.net/.

Now about the source itself. I wanted to make it portable to other
libraries, so I tried to reduce the explicit use of glib, and to
localize the use of GTK+ functions and types. As the result, the
Calcoo source has the following structure:

The front-end (widgets) and back-end (engine) are separated. The names of 
the files related to front-end begin with "b_":

b_accel.c 
b_layout.c
b_displays.c
b_buttons.c
b_info.c
b_settings.c
b_pixmaps.c

The headers of the functions defined in these files (except for "b_accel.c") 
are in "b_headers.h" The file "body.h" defines the type t_calcoo_body, 
which is the structure, which holds all its widgets. The file "gtkaux.c" 
defines a couple of auxiliary functions operating with gtk widgets (the 
headers are in "gtkaux_headers.h").  The file "b_accel_headers.h" defines 
headers for b_accel.c, they are separated since they mention GTK structures 
which were not to be mentioned in "b_headers.h"

The front-end sends signals to the back-end by calling the functions defined in
"input.c". The file "output.c" transmits signals from the back-end to the 
front-end. The file "io_headers.h" holds the headers of these functions.

The functions from "input.c" call the functions of the back-end, which are
defined in files with the names beginning with "c_":

c_input.c
c_output.c
c_mem.c
c_op.c
c_main.c
c_undo.c

Their headers are in "c_headers.h". The file "cpu.h" defines the type 
"t_calcoo_cpu", which is the structure, which holds all information about
the internal state of the calculator.

The file "aux.c" defines some auxiliary functions, like the calculation of the 
factorial; their headers are in "aux_headers.h"

5. Bugs and bug reports
-----------------------

Calcoo has no bugs I know about.
If you find any, please report them to alexei.kaminski@gmail.com.

6. Apologies
------------

Calcoo was originally written for GTK+ 1.2. When I decided to port it to
GTK+ 2.x, I had much less free time than when I was writing it originally.
Therefore, only the things which broke after the transition to GTK+ 2.x,
are (re)written according to the new standards, the things that worked are
left as they were. As the result, you can see this weird mixture of 
gtk_signal_connect and g_signal_connect. Yes, I know it is ugly; no, I do
not have time to fix it. It works, it is good enough.