Menu

Tree [r88] /
 History

HTTPS access


File Date Author Commit
 challenges 2011-04-16 weisspe [r88] added another verse with the default challenge
 misc 2010-10-28 weisspe [r71] began commenting (ButtonListener completed), li...
 src 2011-01-13 weisspe [r87] found that ScriptureSort was sorting by chapter...
 verses 2011-04-16 weisspe [r88] added another verse with the default challenge
 README 2010-10-17 weisspe [r30] added a TODO to the README, should be added to ...
 license 2010-10-31 weisspe [r73] updated license to include the 'exception' that...
 makefile 2010-10-25 virtuosonic [r60] added code to detect prefix without using rpm
 versegui.nsi 2010-11-01 virtuosonic [r76] added code to detect jre
 versegui.spec 2010-10-27 virtuosonic [r70] new NSIS based windows installer

Read Me

This file will contain basic directions for how to set this program up.  This will specify the file structure needed (where to place the libraries relative to the class files' package) and other basic things.  For now it is a placeholder/work-in-progress.



Compiling:

To compile this program you need to go to a terminal and change the working directory to the directory holding the 'core' folder.  Then use either of the commands below.  The first one will compile everything in the 'core' package and the second will compile every class that LogicCircuit (the main class) uses at any point.  These should have the same result, but just in case one doesn't work both are listed:
	javac core/*.java
	javac core/LogicCiruit.java
Both should place all the class file inside core as it works.  If you want to move them elsewhere then make sure to place them in a folder named 'core' and obey the required file structure for the program (described below).



Running:

Since this program is written in Java but not packaged in a jar (due to the libraries) you have to run a java command, generally from a command line (see instructions below for this), to start the program.  There are a few simple solutions to this, namely scripts that will run the command for you.  There are two scripts currently available, a bash script for *nix users who have bash and a .bat script for Windows users.  The script just has to be placed in the same directory as the 'core' folder (as described below) and then executed.  Generally this just means to double-click the script.  *nix users might have to make the script executable before using it.

If you would like to develope your own sort of script to do this then all you need to do is have the script change the working directory to the directory which holds the 'core' folder and execute the command:
	java core/LogicCircuit.java
If you do this and the script offers some sort of added features please feel free to contribute it to this project.  If you want to run the program manually from the command line then just do these steps yourself from a terminal.



Basic required file structure:

Parent Directory:
	- verses:
		- various verse files
	- challenges:
		- various challenge files
	- core
		- java class files
	- config
	- start script (if using one of the provided ones)

By default 'log' and 'log - error' will be placed in Parent Directory as well.  Files 'log' and 'log - error' can be specified to be placed elsewhere but will always be in the same folder together.  Folders 'verses' and 'challenges' can be moved if they new path to them is placed in the configuration file (either manually or via the configuration option within the program).

If the folders 'verses' and 'challenges' are not included the program will not start up past detecting their absence and printing and error (to the terminal).  The 'config' file does not need to be present (and a message will be output notifying the user of this in the terminal before file logging begins).



Library details:

The folder 'verses' (as of now) cannot be name something else.  It can be placed where you desire if you specify it in the 'config' file.  The folder 'challenges' needs to be in the same folder as 'verses'.  Only the 'verses' folder is mapped during execution, and it is expect there is a file with the EXACT same in the 'challenges' folder.  Extra files in the 'challenges' folder are ignored.  The content of the files is not checked so essentially any text can be placed in these.

To take advantage of some of the features when using the reference options you have to follow a few standards (which will hopefully be cleaned up in the future).  First is that the last line of the files in 'verses' folder are going to be displayed to represent each file in the reference frame/window.  The second is that the name of the files is used when sorting the references so that they can be displayed in order in the reference frame/window.  This is to speed up the sorting so that each comparison doesn't take time to read down to the last line.  It is recommended to make these match and to use full book names when naming by reference so that the provided utilities will successfully sort these.  If you don't care or are using this for something else then feel free to ignore this.



TODOs:

-fix whatever is wrong so that the program often starts without enough room to display the JTextAreas which makes it look dumb until you proceed to another verse/challenge pair.
-continue to improve the README and documentation on sourceforge.net
-add some sort of save option when closing if there have been changes to journal since the last save (or startup). This means I have to track that somehow...
-make the window resizable with the layout changing properly
-probably need to fix the whole weird static-ness of the LogicCircuit class
	-This is being worked on:
	- GUI is taking on some static features to keep things from always refering to LogicCircuit for a copy of GUI
	- the ActionListener role is being handed off to another class, ButtonsListener (not in place yet, being worked on still)
	- more to come...
-create some sort of help information explaining the non-technical details/features of the program
-improve/cleanup the sort of the references
-make the configuration frame/window centered on the main frame/window, not just it's top left corner centered there.
-add a prompt to find the libraries when they can't be found automatically



Brainstorm:

-create a CLI that takes advantage of a few of the classes and gives limited features



License:

This program is issued under the GNU GPL version 3 or later (at your discretion) with the exception that I, Peter Weiss, the creator, reserve the right to release future versions under a different license (including no license at all).