• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H18-Aug-2007-7,6565,648

AUTHORSH A D14-Jul-200785 42

COPYINGH A D29-Jul-199917.6 KiB341281

ChangeLogH A D18-Aug-200710.4 KiB351218

INSTALLH A D29-Jul-19997.6 KiB184143

Makefile.amH A D08-Feb-200261 63

Makefile.inH A D18-Aug-200719.5 KiB632557

NEWSH A D30-Jun-200181 32

READMEH A D14-Jul-20075.8 KiB175126

aclocal.m4H A D18-Aug-200738.5 KiB1,060956

calcoo.1H A D18-Aug-20071.4 KiB6059

configureH A D18-Aug-2007149.8 KiB5,3534,359

configure.inH A D18-Aug-2007428 1912

depcompH A D24-Apr-200514.8 KiB527335

install-shH A D21-Jun-20015.5 KiB252153

missingH A D21-Jun-20016.1 KiB191154

mkinstalldirsH A D21-Jun-2001722 4123

README

1Calcoo - Scientific calculator (GTK+)
2
3Copyright (C) 2001 - 2007 Alexei Kaminski <alexei.kaminski@gmail.com>
4
5TABLE OF CONTENTS
6*****************
7
81. What is Calcoo?
92. License
103. Installation
114. Source
125. Bugs and bug reports
136. Apologies
14
151. What is Calcoo?
16------------------
17
18Calcoo is a scientific calculator designed to provide maximum
19usability.  The features that make Calcoo better than (at least some)
20other calculator programs are:
21
22* Bitmapped button labels and display digits to improve readability.
23
24* No double-function buttons. As the result, you need to click only one
25  button for any operation (except for arc-hyp trigonometric
26  functions).
27
28* Undo/redo buttons.
29
30* Copy/paste interaction with X the clipboard.
31
32* Both RPN (reverse Polish notation) and algebraic modes are available
33
34* Tick marks to separate thousands.
35
36* Two memory registers with displays.
37
38* Displays for Y, Z, and T registers.
39
40* It is a purely scientific calculator. There are no buttons for the
41  hexadecimal digits (ABCDEF) and logical operations, which take space
42  and distract from "scientific" buttons.
43
44Features that Calcoo lacks:
45
46* Statistical mode. Use some other program for it; it is hard to imagine
47  any program less suitable for statistical processing of data than a
48  calculator emulator.
49
50* HEX mode. Scientific and and hexadecimal operations are hardly compatible.
51  Has anyone ever calculated sin(FF)? Or Pi AND Sqrt(5)? If I create a HEX
52  calculator on the base of Calcoo, it will be a separate program.
53
542. License
55----------
56
57    This program is free software; you can redistribute it and/or
58modify it under the terms of the GNU General Public License as
59published by the Free Software Foundation; either version 2 of the
60License, or (at your option) any later version.
61
62    This program is distributed in the hope that it will be useful,
63but WITHOUT ANY WARRANTY; without even the implied warranty of
64MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
65General Public License for more details.
66
67    You should have received a copy of the GNU General Public License
68along with this program; if not, write to the Free Software
69Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
70USA
71
723. Installation
73---------------
74
75To begin with, you may wish to change something in the file defaults.h.
76It is perfectly Ok to leave it as it is, though.
77
78For the brave and impatient:
79
80	./configure --prefix=<install_dir>
81	make
82	make install
83
84The only file of Calcoo's binary, "calcoo", will be put in
85<install_dir>/bin/.  If the "--prefix" part is omitted, it will be
86/usr/local/bin (you probably have to be root to do it). If you want to
87install Calcoo in your home directory, use --prefix=$HOME ; Calcoo
88will be put into $HOME/bin/ then. If the compilation works to the end,
89but the installation fails for some reason, just copy the executable
90file src/calcoo (it is the only file calcoo needs for work) to some
91directory from your $PATH).
92
93On FreeBSD, file "gtk-config" used by the configure script may be
94"gtk12-config". If configure reports absense of "gtk-config" and you do
95have gtk1.2 installed, create a symlink.
96
97For the patient:
98
99	Look into INSTALL file.
100
101For the experienced:
102
103	There is nothing non-standard in INSTALL. The installation
104scripts are produced by standard manipulations with autoconf and automake.
105
106
1074. Source
108---------
109
110Calcoo is written in C. It uses GTK+ widget library, version 2.x.
111
112The homepage of Calcoo project is located at http://calcoo.sourceforge.net/.
113
114Now about the source itself. I wanted to make it portable to other
115libraries, so I tried to reduce the explicit use of glib, and to
116localize the use of GTK+ functions and types. As the result, the
117Calcoo source has the following structure:
118
119The front-end (widgets) and back-end (engine) are separated. The names of
120the files related to front-end begin with "b_":
121
122b_accel.c
123b_layout.c
124b_displays.c
125b_buttons.c
126b_info.c
127b_settings.c
128b_pixmaps.c
129
130The headers of the functions defined in these files (except for "b_accel.c")
131are in "b_headers.h" The file "body.h" defines the type t_calcoo_body,
132which is the structure, which holds all its widgets. The file "gtkaux.c"
133defines a couple of auxiliary functions operating with gtk widgets (the
134headers are in "gtkaux_headers.h").  The file "b_accel_headers.h" defines
135headers for b_accel.c, they are separated since they mention GTK structures
136which were not to be mentioned in "b_headers.h"
137
138The front-end sends signals to the back-end by calling the functions defined in
139"input.c". The file "output.c" transmits signals from the back-end to the
140front-end. The file "io_headers.h" holds the headers of these functions.
141
142The functions from "input.c" call the functions of the back-end, which are
143defined in files with the names beginning with "c_":
144
145c_input.c
146c_output.c
147c_mem.c
148c_op.c
149c_main.c
150c_undo.c
151
152Their headers are in "c_headers.h". The file "cpu.h" defines the type
153"t_calcoo_cpu", which is the structure, which holds all information about
154the internal state of the calculator.
155
156The file "aux.c" defines some auxiliary functions, like the calculation of the
157factorial; their headers are in "aux_headers.h"
158
1595. Bugs and bug reports
160-----------------------
161
162Calcoo has no bugs I know about.
163If you find any, please report them to alexei.kaminski@gmail.com.
164
1656. Apologies
166------------
167
168Calcoo was originally written for GTK+ 1.2. When I decided to port it to
169GTK+ 2.x, I had much less free time than when I was writing it originally.
170Therefore, only the things which broke after the transition to GTK+ 2.x,
171are (re)written according to the new standards, the things that worked are
172left as they were. As the result, you can see this weird mixture of
173gtk_signal_connect and g_signal_connect. Yes, I know it is ugly; no, I do
174not have time to fix it. It works, it is good enough.
175