diff options
| author | Paul Buetow <paul@buetow.org> | 2009-03-04 17:31:40 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2009-03-04 17:31:40 +0000 |
| commit | 9129838d208c0df7293e5b757661125545cd6df8 (patch) | |
| tree | cde0b095a7ad120b68450f705d8fc16d278bfff8 /libs/FLib/JCalendar | |
| parent | e2c501ba5aaffd9d5ace6bc1706353d9f83329b7 (diff) | |
flib added
Diffstat (limited to 'libs/FLib/JCalendar')
35 files changed, 9835 insertions, 0 deletions
diff --git a/libs/FLib/JCalendar/License.txt b/libs/FLib/JCalendar/License.txt new file mode 100644 index 0000000..be12e9d --- /dev/null +++ b/libs/FLib/JCalendar/License.txt @@ -0,0 +1,123 @@ + Artistic License + +Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to +make reasonable modifications. + +Definitions: + + * "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + * "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes of + the Copyright Holder. + + * "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + * "You" is you, if you're thinking about copying or distributing + this Package. + + * "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people + involved, and so on. (You will not be required to justify it to + the Copyright Holder, but only to the computing community at + large as a market that must bear the fee.) + + * "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of + the Standard Version of this Package without restriction, provided + that you duplicate all of the original copyright notices and + associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A + Package modified in such a way shall still be considered the + Standard Version. + +3. You may otherwise modify your copy of this Package in any way, + provided that you insert a prominent notice in each changed file + stating how and when you changed that file, and provided that you + do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise make + them Freely Available, such as by posting said modifications to + Usenet or an equivalent medium, or placing the modifications on + a major archive site such as ftp.uu.net, or by allowing the + Copyright Holder to include your modifications in the Standard + Version of the Package. + + b) use the modified Package only within your corporation or + organization. + + c) rename any non-standard executables so the names do not + conflict with standard executables, which must also be + provided, and provide a separate manual page for each + non-standard executable that clearly documents how it differs + from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the + following: + + a) distribute a Standard Version of the executables and library + files, together with instructions (in the manual page or + equivalent) on where to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) accompany any non-standard executables with their corresponding + Standard Version executables, giving the non-standard + executables non-standard names, and clearly documenting the + differences in manual pages (or equivalent), together with + instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of + this Package. You may charge any fee you choose for support of this + Package. You may not charge a fee for this Package itself. However, + you may distribute this Package in aggregate with other (possibly + commercial) programs as part of a larger (possibly commercial) + software distribution provided that you do not advertise this + Package as a product of your own. + +6. The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whomever + generated them, and may be sold commercially, and may be aggregated + with this Package. + +7. C or perl subroutines supplied by you and linked into this Package + shall not be considered part of this Package. + +8. Aggregation of this Package with a commercial distribution is + always permitted provided that the use of this Package is embedded; + that is, when no overt attempt is made to make this Package's + interfaces visible to the end user of the commercial distribution. + Such use shall not be construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or + promote products derived from this software without specific prior + written permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + +The End diff --git a/libs/FLib/JCalendar/README.txt b/libs/FLib/JCalendar/README.txt new file mode 100644 index 0000000..8c51360 --- /dev/null +++ b/libs/FLib/JCalendar/README.txt @@ -0,0 +1,27 @@ + JCalendar + +This package provides a Calendar component for use in Java programs. + +This program is free software; you can redistribute it and/or modify +it under the terms of the Artistic License. You should have received a +copy of the Artistic License along with this program (in file +License.txt). If not, a copy is available at + + http://opensource.org/licenses/artistic-license.php + +To build it you'll need Ant. I used version 1.6.2. Use + + ant all + +This will create build/jcalendar.jar. To create the API documentation, use + + ant javadoc + +To view all the documentation, view doc/index.html. + +There is a tutorial in doc/tutorial.html. There are also two sample +Java program that uses the JCalendar package. You can build and run +these programs with + + ant runExample1 + ant runExample2 diff --git a/libs/FLib/JCalendar/build.xml b/libs/FLib/JCalendar/build.xml new file mode 100644 index 0000000..1bef6f7 --- /dev/null +++ b/libs/FLib/JCalendar/build.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE project PUBLIC "-//ANT//DTD project//EN" "project.dtd"> + +<project basedir="." default="all" name="JCalendar"> + + <!-- Set up the classpath for compilation and execution --> + + <path id="project.class.path"> + <pathelement location="."/> + <!-- <pathelement location="../../../MediaTracker/Jars/skinlf.jar"/> --> + </path> + + <!-- Common settings for all targets --> + + <target name="init" description="Initialize."> + <tstamp/> + </target> + + <!-- Compile everything --> + + <target depends="init" name="compile" description="Compile the project."> + <javac debug="true" deprecation="true" destdir="." srcdir="."> + <include name="org/freixas/**"/> + <include name="doc/example/**"/> + <classpath refid="project.class.path"/> + </javac> + </target> + + <!-- Place the class files in a jar file --> + + <target depends="compile" name="jar" description="Create a jar file."> + <mkdir dir="build"/> + <jar basedir="." compress="false" jarfile="build/jcalendar.jar"> + <manifest> + <attribute name="Built-By" value="${user.name}"/> + <section name="JCalendar"> + <attribute name="Specification-Title" value="JCalendar Library"/> + <attribute name="Specification-Version" value="${version}"/> + <attribute name="Implementation-Title" value="JCalendar"/> + <attribute name="Implementation-Version" value="${version} ${TODAY}"/> + </section> + </manifest> + <exclude name="**/*.java"/> + <exclude name="doc"/> + <exclude name="build"/> + <include name="org/freixas/jcalendar/*.class"/> + <include name="**/*.gif"/> + <include name="**/*.properties"/> + </jar> + </target> + + <!-- Build all --> + + <target depends="jar" name="all" description="Build everything."> + <echo message="JCalendar library built."/> + </target> + + <!-- Run Example1 --> + + <target depends="compile" name="runExample1" description="Run Example1."> + <java classname="doc.example.Example1" failonerror="true" fork="true"> + <classpath refid="project.class.path"/> + </java> + </target> + + <!-- Run Example2 --> + + <target depends="compile" name="runExample2" description="Run Example2."> + <java classname="doc.example.Example2" failonerror="true" fork="true"> + <classpath refid="project.class.path"/> + </java> + </target> + + <!-- Build the documentation --> + + <target depends="init" name="javadoc" description="Javadoc for JCalendar."> + <mkdir dir="doc/api"/> + <copy todir="doc/api"> + <fileset dir="doc-templates"> + <include name="**/*.html"/> + </fileset> + </copy> + <javadoc + sourcepath="org" + destdir="doc/api" + use="true" + author="true" + windowtitle="JCalendar" + footer="<small>Copyright © 2004-2005 Antonio Freixas<br>Licensed under the <a href='{@docRoot}/License.html' target='_top'>Artistic License</a></small>"> + <classpath refid="project.class.path"/> + <packageset dir="."> + <include name="org/freixas/**"/> + </packageset> + <link href="http://java.sun.com/j2se/1.5/docs/api/" /> + </javadoc> + </target> + + <!-- Clean the build tree --> + + <target depends="init" name="clean" description="Clean all build products."> + <delete> + <fileset dir="org/freixas"> + <include name="**/*.class"/> + </fileset> + </delete> + <delete> + <fileset dir="doc/example"> + <include name="**/*.class"/> + </fileset> + </delete> + <delete dir="build"/> + <delete dir="doc/api"/> + </target> + + <!-- Generate a DTD for this buildfile --> + + <target name="dtd" description="Generate a DTD"> + <antstructure output="project.dtd"/> + </target> + +</project> diff --git a/libs/FLib/JCalendar/doc-templates/License.html b/libs/FLib/JCalendar/doc-templates/License.html new file mode 100644 index 0000000..d5fbdc1 --- /dev/null +++ b/libs/FLib/JCalendar/doc-templates/License.html @@ -0,0 +1,180 @@ +<html> + <style type="text/css"> + body { + font-family: Arial, Helvetica, sans-serif; + } + + h1 { + text-align: center; + font-weight: bold; + font-size: 145%; + } + + h2 { + text-align: left; + font-weight: bold; + font-size: 120%; + } + + ol { + list-style-type: decimal; + } + + ol ol { + list-style-type: lower-alpha; + } + + li { + margin-top: 10px; + margin-bottom: 10px; + } + + </style> +</head> + + <body> + + <h1>Artistic License</h1> + + <h2>Preamble</h2> + + <p>The intent of this document is to state the conditions under which a + Package may be copied, such that the Copyright Holder maintains some + semblance of artistic control over the development of the package, + while giving the users of the package the right to use and distribute + the Package in a more-or-less customary fashion, plus the right to + make reasonable modifications.</p> + + <h2>Definitions:</h2> + + <ul> + + <li>"Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files created + through textual modification.</li> + + <li>"Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes of the + Copyright Holder.</li> + + <li>"Copyright Holder" is whoever is named in the copyright or + copyrights for the package.</li> + + <li>"You" is you, if you're thinking about copying or distributing + this Package.</li> + + <li>"Reasonable copying fee" is whatever you can justify on the basis + of media cost, duplication charges, time of people involved, and so + on. (You will not be required to justify it to the Copyright Holder, + but only to the computing community at large as a market that must + bear the fee.)</li> + + <li>"Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. It + also means that recipients of the item may redistribute it under the + same conditions they received it.</li> + + </ul> + + <hr> + + <ol> + + <li>You may make and give away verbatim copies of the source form of + the Standard Version of this Package without restriction, provided + that you duplicate all of the original copyright notices and + associated disclaimers.</li> + + <li>You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A Package + modified in such a way shall still be considered the Standard + Version.</li> + + <li>You may otherwise modify your copy of this Package in any way, + provided that you insert a prominent notice in each changed file + stating how and when you changed that file, and provided that you do + at least ONE of the following: + + <ol> + + <li>place your modifications in the Public Domain or otherwise make + them Freely Available, such as by posting said modifications to Usenet + or an equivalent medium, or placing the modifications on a major + archive site such as ftp.uu.net, or by allowing the Copyright Holder + to include your modifications in the Standard Version of the Package.</li> + + <li>use the modified Package only within your corporation or + organization.</li> + + <li>rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide a + separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version.</li> + + <li>make other distribution arrangements with the Copyright + Holder.</li> + + </ol> + </li> + + <li>You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the following: + + <ol> + + <li>distribute a Standard Version of the executables and library + files, together with instructions (in the manual page or equivalent) + on where to get the Standard Version.</li> + + <li>accompany the distribution with the machine-readable source of the + Package with your modifications.</li> + + <li>accompany any non-standard executables with their corresponding + Standard Version executables, giving the non-standard executables + non-standard names, and clearly documenting the differences in manual + pages (or equivalent), together with instructions on where to get the + Standard Version.</li> + + <li>make other distribution arrangements with the Copyright + Holder.</li> + + </ol> + </li> + + <li>You may charge a reasonable copying fee for any distribution of + this Package. You may charge any fee you choose for support of this + Package. You may not charge a fee for this Package itself. However, + you may distribute this Package in aggregate with other (possibly + commercial) programs as part of a larger (possibly commercial) + software distribution provided that you do not advertise this Package + as a product of your own.</li> + + <li>The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whomever generated + them, and may be sold commercially, and may be aggregatedwith this + Package.</li> + + <li>r perl subroutines supplied by you and linked into this Package + shall not be considered part of this Package.</li> + + <li>Aggregation of this Package with a commercial distribution is + always permitted provided that the use of this Package is embedded; + that is, when no overt attempt is made to make this Package's + interfaces visible to the end user of the commercial distribution. + Such use shall not be construed as a distribution of this Package.</li> + + <li>The name of the Copyright Holder may not be used to endorse or + promote products derived from this software without specific prior + written permission.</li> + + <li>THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + PURPOSE.</li> + + </ol> + + <p>The End</p> + </body> +</html> diff --git a/libs/FLib/JCalendar/doc/example/Example1.java b/libs/FLib/JCalendar/doc/example/Example1.java new file mode 100644 index 0000000..57e3b87 --- /dev/null +++ b/libs/FLib/JCalendar/doc/example/Example1.java @@ -0,0 +1,181 @@ +//********************************************************************** +// Package +//********************************************************************** + +package doc.example; + +//********************************************************************** +// Import list +//********************************************************************** + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.border.*; +import java.util.Calendar; +import java.util.Locale; +import org.freixas.jcalendar.*; + +/** + * This example shows various instances of the JCalendar class. + * <hr> + * This program is free software; you can redistribute it and/or + * modify it under the terms of the Artistic License. You should have + * received a copy of the Artistic License along with this program. If + * not, a copy is available at + * <a href="http://opensource.org/licenses/artistic-license.php"> + * opensource.org</a>. + * + * @author Antonio Freixas + */ + +// Copyright © 2004 Antonio Freixas +// All Rights Reserved. + +public class Example1 + extends JFrame +{ + +//********************************************************************** +// main +//********************************************************************** + +public static void +main( + String[] args) +{ + new Example1(); +} + +//********************************************************************** +// Constructors +//********************************************************************** + +/** + * Create various instances of a JCalendar. + */ + +public +Example1() +{ + // Set up the frame + + setTitle("Example1"); + setDefaultCloseOperation(EXIT_ON_CLOSE); + + Container contentPane = getContentPane(); + contentPane.setLayout(new GridLayout(2, 2, 5, 5)); + + // Create a border for all calendars + + Border etchedBorder = + BorderFactory.createEtchedBorder(); + Border emptyBorder = + BorderFactory.createEmptyBorder(10, 10, 10, 10); + Border compoundBorder = + BorderFactory.createCompoundBorder(etchedBorder, emptyBorder); + + // Create a date listener to be used for all calendars + + MyDateListener listener = new MyDateListener(); + + // Display date and time using the default calendar and locale. + // Display today's date at the bottom. + + JCalendar calendar1 = + new JCalendar( + JCalendar.DISPLAY_DATE | JCalendar.DISPLAY_TIME, + true); + calendar1.addDateListener(listener); + calendar1.setBorder(compoundBorder); + + // Set fonts rather than using defaults + + calendar1.setTitleFont(new Font("Serif", Font.BOLD|Font.ITALIC, 24)); + calendar1.setDayOfWeekFont(new Font("SansSerif", Font.ITALIC, 12)); + calendar1.setDayFont(new Font("SansSerif", Font.BOLD, 16)); + calendar1.setTimeFont(new Font("DialogInput", Font.PLAIN, 10)); + calendar1.setTodayFont(new Font("Dialog", Font.PLAIN, 14)); + + // Display date only + + JCalendar calendar2 = new JCalendar(JCalendar.DISPLAY_DATE, false); + calendar2.addDateListener(listener); + calendar2.setBorder(compoundBorder); + + // Display time only and set the time pattern to use as a duration + // from 00:00 to 23:59 + + JCalendar calendar3 = + new JCalendar( + Calendar.getInstance(), + Locale.getDefault(), + JCalendar.DISPLAY_TIME, + false, + "HH:mm"); + calendar3.addDateListener(listener); + calendar3.setBorder(compoundBorder); + + // Display a French calendar + + JCalendar calendar4 = + new JCalendar( + Calendar.getInstance(Locale.FRENCH), + Locale.FRENCH, + JCalendar.DISPLAY_DATE | JCalendar.DISPLAY_TIME, + false); + calendar4.addDateListener(listener); + calendar4.setBorder(compoundBorder); + + // Add all the calendars to the content pane + + JPanel panel1 = new JPanel(new FlowLayout()); + panel1.add(calendar1); + contentPane.add(panel1); + + JPanel panel2 = new JPanel(new FlowLayout()); + panel2.add(calendar2); + contentPane.add(panel2); + + JPanel panel3 = new JPanel(new FlowLayout()); + panel3.add(calendar3); + contentPane.add(panel3); + + JPanel panel4 = new JPanel(new FlowLayout()); + panel4.add(calendar4); + contentPane.add(panel4); + + // Make the window visible + + pack(); + setVisible(true); +} + +//********************************************************************** +// Inner Classes +//********************************************************************** + +private class MyDateListener + implements DateListener +{ + +public void +dateChanged( + DateEvent e) +{ + Calendar c = e.getSelectedDate(); + if (c != null) { + System.out.println(c.getTime()); + } + else { + System.out.println("No time selected."); + } +} + +} + +//********************************************************************** +// End Inner Classes +//********************************************************************** + +} diff --git a/libs/FLib/JCalendar/doc/example/Example2.java b/libs/FLib/JCalendar/doc/example/Example2.java new file mode 100644 index 0000000..0866447 --- /dev/null +++ b/libs/FLib/JCalendar/doc/example/Example2.java @@ -0,0 +1,173 @@ +//********************************************************************** +// Package +//********************************************************************** + +package doc.example; + +//********************************************************************** +// Import list +//********************************************************************** + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import java.util.Calendar; +import java.util.Locale; +import java.text.SimpleDateFormat; +import org.freixas.jcalendar.*; + +/** + * This example shows various instances of the JCalendarCombo class. + * <hr> + * This program is free software; you can redistribute it and/or + * modify it under the terms of the Artistic License. You should have + * received a copy of the Artistic License along with this program. If + * not, a copy is available at + * <a href="http://opensource.org/licenses/artistic-license.php"> + * opensource.org</a>. + * + * @author Antonio Freixas + */ + +// Copyright © 2004 Antonio Freixas +// All Rights Reserved. + +class Example2 + extends JFrame +{ + +//********************************************************************** +// main +//********************************************************************** + +public static void +main( + String[] args) +{ + new Example2(); +} + +//********************************************************************** +// Constructors +//********************************************************************** + +/** + * Create various instances of a JCalendarCombo. + */ + +public +Example2() +{ + // Set up the frame + + setTitle("Example2"); + setDefaultCloseOperation(EXIT_ON_CLOSE); + + Container contentPane = getContentPane(); + contentPane.setLayout(new GridLayout(2, 2, 5, 5)); + + // Create a date listener to be used for all calendars + + MyDateListener listener = new MyDateListener(); + + // Display date and time using the default calendar and locale. + // Display today's date at the bottom. Allow editing + + JCalendarCombo calendar1 = + new JCalendarCombo( + JCalendarCombo.DISPLAY_DATE | JCalendarCombo.DISPLAY_TIME, + true); + calendar1.setEditable(true); + calendar1.addDateListener(listener); + + // Set fonts rather than using defaults + + calendar1.setFont(new Font("DialogInput", Font.PLAIN, 16)); + + calendar1.setTitleFont(new Font("Serif", Font.BOLD|Font.ITALIC, 24)); + calendar1.setDayOfWeekFont(new Font("SansSerif", Font.ITALIC, 12)); + calendar1.setDayFont(new Font("SansSerif", Font.BOLD, 16)); + calendar1.setTimeFont(new Font("DialogInput", Font.PLAIN, 10)); + calendar1.setTodayFont(new Font("Dialog", Font.PLAIN, 14)); + + // Display date only + + JCalendarCombo calendar2 = + new JCalendarCombo(JCalendarCombo.DISPLAY_DATE, false); + calendar2.addDateListener(listener); + + // Display time only and set the time pattern to use as a duration + // from 00:00 to 23:59 + + JCalendarCombo calendar3 = + new JCalendarCombo( + Calendar.getInstance(), + Locale.getDefault(), + JCalendarCombo.DISPLAY_TIME, + false, + "HH:mm:ss"); + calendar3.setDateFormat(new SimpleDateFormat("HH:mm:ss")); + calendar3.addDateListener(listener); + + // Display a French calendar + + JCalendarCombo calendar4 = + new JCalendarCombo( + Calendar.getInstance(Locale.FRENCH), + Locale.FRENCH, + JCalendarCombo.DISPLAY_DATE | JCalendarCombo.DISPLAY_TIME, + false); + calendar4.addDateListener(listener); + + // Add all the calendars to the content pane + + JPanel panel1 = new JPanel(new BorderLayout()); + panel1.add(calendar1, BorderLayout.NORTH); + contentPane.add(panel1); + + JPanel panel2 = new JPanel(new BorderLayout()); + panel2.add(calendar2, BorderLayout.NORTH); + contentPane.add(panel2); + + JPanel panel3 = new JPanel(new BorderLayout()); + panel3.add(calendar3, BorderLayout.NORTH); + contentPane.add(panel3); + + JPanel panel4 = new JPanel(new BorderLayout()); + panel4.add(calendar4, BorderLayout.NORTH); + contentPane.add(panel4); + + // Make the window visible + |
