Skip to content
Commits on Source (13)
......@@ -5,18 +5,19 @@
<classpathentry kind="lib" path="lib/j3dcore.jar"/>
<classpathentry kind="lib" path="lib/vecmath.jar"/>
<classpathentry kind="lib" path="lib/j3dutils.jar"/>
<classpathentry kind="lib" path="lib/batik-svgpathparser-1.7.jar"/>
<classpathentry kind="lib" path="lib/jeksparser-calculator.jar"/>
<classpathentry kind="lib" path="lib/iText-2.1.7.jar"/>
<classpathentry kind="lib" path="lib/freehep-vectorgraphics-svg-2.1.1b.jar"/>
<classpathentry kind="lib" path="lib/sunflow-0.07.3i.jar"/>
<classpathentry kind="lib" path="lib/jmf.jar"/>
<classpathentry kind="lib" path="lib/batik-svgpathparser-1.7.jar"/>
<classpathentry kind="lib" path="libtest/abbot.jar"/>
<classpathentry kind="lib" path="libtest/jdom-1.0.jar"/>
<classpathentry kind="lib" path="libtest/gnu-regexp-1.1.0.jar"/>
<classpathentry kind="lib" path="libtest/jdepend-2.9.jar"/>
<classpathentry kind="lib" path="libtest/AppleJavaExtensions.jar"/>
<classpathentry kind="lib" path="libtest/jnlp.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
<classpathentry kind="lib" path="/Applications/Developer/jre1.5.0_22/lib/rt.jar" sourcepath="/Applications/Developer/Java Source/jdk-1.6_37/src.zip"/>
<classpathentry kind="output" path="classes"/>
</classpath>
eclipse.preferences.version=1
encoding//install/macosx/Sweet\ Home\ 3D/Contents/Info.plist=UTF-8
encoding//install/windows/installerInnoSetup.iss=UTF-8
encoding//install/windows/signedInstallerInnoSetup.iss=UTF-8
encoding/<project>=ISO-8859-1
......@@ -10,6 +10,7 @@ org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
......@@ -18,6 +19,7 @@ org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.formatter.align_type_members_on_columns=true
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
......
SWEET HOME 3D v 5.7
SWEET HOME 3D v 6.0
-------------------
This archive contains source code of Sweet Home 3D, an interior design Java application.
......@@ -7,7 +7,7 @@ about new features available in this version.
You may also download this source code with the following SVN command:
svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_5_7/SweetHome3D SweetHome3D
svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_6_0/SweetHome3D SweetHome3D
HOW TO USE THIS SOURCE CODE
......
The following additional provisions apply to furniture catalog contributions
included as part of this product.
Free Art License
[ Copyleft Attitude ]
version 1.2
Preamble :
With this Free Art License, you are authorised to copy, distribute and freely
transform the work of art while respecting the rights of the originator.
Far from ignoring the author's rights, this license recognises them and
protects them. It reformulates their principle while making it possible for
the public to make creative use of the works of art. Whereas current literary
and artistic property rights result in restriction of the public's access to
works of art, the goal of the Free Art License is to encourage such access.
The intention is to make work accessible and to authorise the use of its
resources by the greatest number of people: to use it in order to increase
its use, to create new conditions for creation in order to multiply the
possibilities of creation, while respecting the originators in according
them recognition and defending their moral rights.
In fact, with the arrival of the digital age, the invention of the Internet
and free software, a new approach to creation and production has made its
appearance. It also encourages a continuation of the process of experimentation
undertaken by many contemporary artists.
Knowledge and creativity are resources which, to be true to themselves, must
remain free, i.e. remain a fundamental search which is not directly related
to a concrete application. Creating means discovering the unknown, means
inventing a reality without any heed to realism. Thus, the object(ive) of art
is not equivalent to the finished and defined art object.
This is the basic aim of this Free Art License: to promote and protect artistic
practice freed from the rules of the market economy.
---
DEFINITIONS
- The work of art :
A communal work which includes the initial artwork as well as all subsequent
contributions (subsequent originals and copies). It is created at the initiative
of the original artist who, by this license, defines the conditions according
to which the contributions are made.
- The original work of art :
This is the artwork created by the initiator of the communal work, of which
copies will be modified by whosoever wishes.
- Subsequent works :
These are the additions put forward by the artists who contribute to the
formation of the work by taking advantage of the right to reproduction,
distribution and modification that this license confers on them.
- The Original (the work's source or resource) :
A dated example of the work, of its definition, of its partition or of its
program which the originator provides as the reference for all future updatings,
interpretations, copies or reproductions.
- Copy :
Any reproduction of an original as defined by this license.
- The author or the artist of the original work of art:
This is the person who created the work which is at the heart of the ramifications
of this modified work of art. By this license, the author determines the conditions
under which these modifications are made.
- Contributor:
Any person who contributes to the creation of the work of art. He is the author
or the artist of an original art object resulting from the modification of a copy
of the initial artwork or the modification of a copy of a subsequent work of art.
---
1. AIMS
The aim of this license is to define the conditions according to which you can
use this work freely.
2. EXTENT OF THE USAGE
This work of art is subject to copyright, and the author, by this license, specifies
the extent to which you can copy, distribute and modify it.
2.1 FREEDOM TO COPY (OR OF REPRODUCTION)
You have the right to copy this work of art for your personal use, for your friends
or for any other person, by employing whatever technique you choose.
2.2 FREEDOM TO DISTRIBUTE, TO INTERPRET (OR OF REPRESENTATION)
You can freely distribute the copies of these works, modified or not, whatever
their medium, wherever you wish, for a fee or for free, if you observe all the
following conditions:
- attach this license, in its entirety, to the copies or indicate precisely where
the license can be found,
- specify to the recipient the name of the author of the originals,
- specify to the recipient where he will be able to access the originals (original
and subsequent). The author of the original may, if he wishes, give you the right
to broadcast/distribute the original under the same conditions as the copies.
2.3 FREEDOM TO MODIFY
You have the right to modify the copies of the originals (original and subsequent),
partially or otherwise, respecting the conditions set out in article 2.2 , in the event
of distribution (or representation) of the modified copy. The author of the original may,
if he wishes, give you the right to modify the original under the same conditions
as the copies.
3. INCORPORATION OF ARTWORK
All the elements of this work of art must remain free, which is why you are not allowed
to integrate the originals (originals and subsequents) into another work which would
not be subject to this license.
4. YOUR AUTHOR'S RIGHTS
The object of this license is not to deny your author's rights on your contribution.
By choosing to contribute to the evolution of this work of art, you only agree to give
to others the same rights with regard to your contribution as those which were granted
to you by this license.
5. DURATION OF THE LICENCE
This license takes effect as of your acceptance of its provisions. The fact of copying,
distributing, or of modifying the work constitutes a tacit agreement. This license will
remain in force for as long as the copyright which is attached to the work of art. If you
do not respect the terms of this license, you automatically lose the rights that it confers.
If the legal status to which you are subject makes it impossible for you to respect the
terms of this license, you may not make use of the rights which it confers.
6. VARIOUS VERSIONS OF THE LICENCE
This license may undergo periodic modifications to incorporate improvements by its
authors (instigators of the "copyleft attitude" movement) by way of new, numbered
versions.
You will have the choice of accepting the provisions contained in the version under which
the copy was communicated to you, or alternatively, to use the provisions of one of the
subsequent versions.
7. SUB-LICENSING
Sub-licenses are not authorized by the present license. Any person who wishes to make use
of the rights that it confers will be directly bound to the author of the original work.
8. THE LAW APPLICABLE TO THIS CONTRACT
This license is subject to French law.
---
DIRECTIONS FOR USE :
- How to use the Free Art license?
To benefit from the Free Art License, it is enough to specify the following on your
work of art:
[- A few lines to indicate the name of the work and to give an idea of what it is.]
[- A few lines to describe, if necessary, the modified work of art and give the name of the author/artist.]
Copyright © [the date] [name of the author or artist] (if appropriate, specify the names of the previous authors or artists)
Copyleft: this work of art is free, you can redistribute it and/or modify it according to terms of the Free Art license.
You will find a specimen of this license on the site Copyleft Attitude http://artlibre.org as well as on other sites.
- Why use the Free Art license?
1 / to give the greatest number of people access to your work.
2 / to allow it to be freely distributed.
3 / to allow it to evolve by authorising its transformation by others.
4 / to be able, yourself, to use the resources of a work when it is under Free Art
license: to copy, distribute or transform it freely.
5 / This is not all: because the use of the Free Art License is also a good way to take
liberties with the marketing system generated by the dominant economy. The Free Art License
offers a useful legal protocol to prevent abusive appropriation. It will no longer be possible
for someone to appropriate your work, short-circuiting the creative process to make personal
profit from it. Helping yourself to a collective work in progress will be forbidden, as will
monopolising the resources of an evolving creation for the benefit of a few.
The Free Art License advocates an economy appropriate for art, based on sharing, exchange and
joyful giving. What counts in art is also and mostly what is not counted.
- When to use the Free Art License ?
It is not the goal of the Free Art License to eliminate copyright or author's rights. Quite
the opposite, it is about reformulating the relevance of these rights while taking today's
environment into account. It is about the right to freedom of movement, to free copying and
to free transformation of works of art. The right to work in freedom for art and artists.
1 / Each time you want to use or put this right into practice, use the Free Art License.
2 / Each time you want to create works which can evolve and be freely copied, freely distributed
and freely transformed: use the Free Art License.
3 / Each time you want to have the possibility of copying, distributing or transforming a work:
check that it is under Free Art License. If it is not, you are liable to be breaking the law.
- To which types of art can the Free Art License be applied?
This license can be applied to digital as well as to non-digital art. It was born out of observation
of the world of free software and the Internet, but its applicability is not limited to the digital
media. You can put a painting, a novel, a sculpture, a drawing, a piece of music, a poem, an installation,
a video, a film, a recipe, a CD-rom, a Web site, or a performance under the Free Art License, in short
any creation which has some claim to be a work of art.
This license has a history: it was born at the meeting " Copyleft Attitude " which took place at
"Accès Local" and "Public" in Paris at the beginning of the year 2000. For the first time, it brought
computer specialists and freeware activists together with contemporary artists and members
of the art world.
\ No newline at end of file
......@@ -10,8 +10,8 @@ http://download.java.net/media/java3d/builds/release/1.5.2/j3d-1_5_2-src.zip
http://download.java.net/media/java3d/builds/release/1.5.2/vecmath-1_5_2-src.zip
https://j3d-core-utils.dev.java.net/build-instr.html
Java 3D 1.6.0 libraries used for Windows, Linux, and Java 7 under Mac OS X are available at:
https://github.com/hharrison/java3d-core/releases/tag/1.6.0
Java 3D 1.6.1 libraries used for Windows, Linux, and Java 7 under Mac OS X are available at:
https://github.com/hharrison/java3d-core/releases/tag/1.6.1
and source code can be downloaded at:
http://github.com/hharrison/java3d-core/
http://github.com/hharrison/java3d-utils/
......
The following additional provisions apply to jeksparser-calculator.jar software
included as part of this product.
Jeks Parser optional library is used to compute expressions in spinners.
jeksparser-calculator.jar is a version lighter than the official release of jeksparser.jar without unused classes.
Jeks Parser library and source code are available at:
http://www.eteks.com/jeks/en/
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
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
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
This diff is collapsed.
......@@ -3,6 +3,13 @@ sweethome3d for Debian
REPACKAGING
o Run debian/rules get-orig-source to retrieve the DFSG compatible sources.
Then copy all files from src/com/eteks/{parser,jeks,tools} into the new
upstream tarball. Jeks and JeksParser are an ancient project by the upstream
author of Sweethome3d and they are currently only useful for this application.
In order to make them compile the jeks-enum.patch must be applied.
Source: http://www.eteks.com/jeks/en/
o Files under src/com/eteks/sweethome3d/io/resources/contributions are released
under Free Art License version 1.2 which doesn't comply with DFSG and have
been removed from upstream tarball.
......
sweethome3d (6.0+dfsg-1) unstable; urgency=medium
* New upstream version 6.0+dfsg
* Drop import-library-with-OpenJDK10.patch and java9-compatibility.patch.
Fixed upstream.
* Rebase all patches for new release.
* Add jeks-enum.patch and fix outdated use of keyword enum as a variable name.
* Update README.source and explain that the source files for jeks and
jeksparser must be copied manually.
-- Markus Koschany <apo@debian.org> Sun, 14 Oct 2018 15:59:35 +0200
sweethome3d (5.7+dfsg-3) unstable; urgency=medium
* Declare compliance with Debian Policy 4.2.1.
......
From: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Date: Wed, 13 Sep 2017 09:51:45 +0200
Subject: manifest
From: Markus Koschany <apo@debian.org>
Date: Sun, 14 Oct 2018 14:27:56 +0200
Subject: 04manifest
---
build.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/build.xml b/build.xml
index 5001047..9e24c72 100644
index f9b8033..7253874 100644
--- a/build.xml
+++ b/build.xml
@@ -468,6 +468,7 @@
@@ -478,6 +478,7 @@
<jar destfile="install/SweetHome3D-${version}.jar">
<manifest>
<attribute name="Main-Class" value="com.eteks.sweethome3d.SweetHome3DBootstrap"/>
......
From: Markus Koschany <apo@debian.org>
Date: Wed, 13 Sep 2017 09:56:04 +0200
Date: Sun, 14 Oct 2018 14:36:46 +0200
Subject: build
---
......@@ -7,10 +7,10 @@ Subject: build
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/build.xml b/build.xml
index faef3e5..2383b1d 100644
index fc66d0e..a1afadf 100644
--- a/build.xml
+++ b/build.xml
@@ -49,7 +49,8 @@
@@ -51,7 +51,8 @@
debug="false" debuglevel="lines,vars,source">
<!-- Use lib as an extension directory to override default Java 3D libraries -->
<extdirs>
......@@ -20,7 +20,7 @@ index faef3e5..2383b1d 100644
</extdirs>
<classpath>
<pathelement location="libtest/AppleJavaExtensions.jar"/>
@@ -57,6 +58,7 @@
@@ -59,6 +60,7 @@
</classpath>
<exclude name="com/eteks/sweethome3d/swing/VideoPanel.java"/>
<exclude name="com/eteks/sweethome3d/viewcontroller/VideoController.java"/>
......@@ -28,7 +28,7 @@ index faef3e5..2383b1d 100644
</javac>
<!-- Copy resources excepted furniture, textures and help files -->
@@ -464,7 +466,7 @@
@@ -474,7 +476,7 @@
<echo message="deploy dir ready for ftp"/>
</target>
......
From: Markus Koschany <apo@debian.org>
Date: Wed, 13 Sep 2017 09:52:36 +0200
Subject: disable checkForUpdates
Date: Sun, 14 Oct 2018 14:29:36 +0200
Subject: disable-checkForUpdates
---
src/com/eteks/sweethome3d/io/DefaultUserPreferences.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/com/eteks/sweethome3d/io/DefaultUserPreferences.properties b/src/com/eteks/sweethome3d/io/DefaultUserPreferences.properties
index e7de01c..98ca45b 100644
index 2e6e4e1..848fe71 100644
--- a/src/com/eteks/sweethome3d/io/DefaultUserPreferences.properties
+++ b/src/com/eteks/sweethome3d/io/DefaultUserPreferences.properties
@@ -86,7 +86,7 @@ newHomeWallHeight=250
......@@ -17,5 +17,5 @@ index e7de01c..98ca45b 100644
-checkUpdatesEnabled=true
+checkUpdatesEnabled=false
autoSaveDelayForRecovery=600000
# Uncomment default currency line to use prices in application
valueAddedTaxEnabled=false
defaultValueAddedTaxPercentage=0.2
From: Markus Koschany <apo@debian.org>
Date: Sat, 1 Sep 2018 15:00:33 +0200
Subject: import library with OpenJDK10+
Thanks to Jiri Slaby for the patch.
Bug-Upstream: https://sourceforge.net/p/sweethome3d/bugs/832/
Origin: https://sourceforge.net/p/sweethome3d/bugs/_discuss/thread/f89e926a/4ff0/9629/06fe/955f/attachment/plugins-load-fix.patch
---
.../eteks/sweethome3d/io/URLContentClassLoader.java | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/com/eteks/sweethome3d/io/URLContentClassLoader.java b/src/com/eteks/sweethome3d/io/URLContentClassLoader.java
index 46ae745..898fff9 100644
--- a/src/com/eteks/sweethome3d/io/URLContentClassLoader.java
+++ b/src/com/eteks/sweethome3d/io/URLContentClassLoader.java
@@ -21,6 +21,7 @@ package com.eteks.sweethome3d.io;
import java.io.IOException;
import java.io.InputStream;
+import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
@@ -37,15 +38,31 @@ class URLContentClassLoader extends ClassLoader {
this.url = url;
}
+ private URL getResourceURL(String name)
+ throws URISyntaxException, MalformedURLException {
+ return new URL("jar:" + this.url.toURI() + "!/" + name);
+ }
+
+ @Override
+ public URL findResource(final String name) {
+ try {
+ return getResourceURL(name);
+ } catch (IOException ex) {
+ return null;
+ } catch (URISyntaxException ex) {
+ return null;
+ }
+ }
+
@Override
public InputStream getResourceAsStream(String name) {
try {
// Return a stream managed by URLContent to be able to delete the writable files accessed with jar protocol
- return new URLContent(new URL("jar:" + this.url.toURI() + "!/" + name)).openStream();
+ return new URLContent(getResourceURL(name)).openStream();
} catch (IOException ex) {
return null;
} catch (URISyntaxException ex) {
return null;
}
}
-}
\ No newline at end of file
+}
From: Emmanuel Bourg <ebourg@apache.org>
Date: Sat, 1 Sep 2018 15:00:25 +0200
Subject: Fixes the compatibility with Java 9
Bug: https://sourceforge.net/p/sweethome3d/bugs/783/
---
src/com/eteks/sweethome3d/swing/FileContentManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/com/eteks/sweethome3d/swing/FileContentManager.java b/src/com/eteks/sweethome3d/swing/FileContentManager.java
index 2df12ce..68d0ae3 100644
--- a/src/com/eteks/sweethome3d/swing/FileContentManager.java
+++ b/src/com/eteks/sweethome3d/swing/FileContentManager.java
@@ -1219,7 +1219,7 @@ public class FileContentManager implements ContentManager {
public int updateChildren(File [] childDirectories) {
if (this.children == null) {
- this.children = new Vector<File>(childDirectories.length);
+ this.children = new Vector(childDirectories.length);
}
synchronized (this.children) {
removeAllChildren();
This diff is collapsed.
From: Markus Koschany <apo@debian.org>
Date: Sun, 28 Jan 2018 17:32:32 +0100
Subject: no MacOSX
Date: Sun, 14 Oct 2018 14:30:32 +0200
Subject: no-MacOSX
Do not depend on MacOS specific classes.
Forwarded: not-needed
---
src/com/eteks/sweethome3d/HomeFramePane.java | 4 +-
src/com/eteks/sweethome3d/MacOSXConfiguration.java | 837 ---------------------
src/com/eteks/sweethome3d/MacOSXConfiguration.java | 864 ---------------------
src/com/eteks/sweethome3d/SweetHome3D.java | 11 +-
.../eteks/sweethome3d/tools/OperatingSystem.java | 9 +-
4 files changed, 11 insertions(+), 850 deletions(-)
4 files changed, 11 insertions(+), 877 deletions(-)
delete mode 100644 src/com/eteks/sweethome3d/MacOSXConfiguration.java
diff --git a/src/com/eteks/sweethome3d/HomeFramePane.java b/src/com/eteks/sweethome3d/HomeFramePane.java
......@@ -31,10 +28,10 @@ index 57fb352..002912c 100644
applyComponentOrientation(ComponentOrientation.getOrientation(Locale.getDefault()));
diff --git a/src/com/eteks/sweethome3d/MacOSXConfiguration.java b/src/com/eteks/sweethome3d/MacOSXConfiguration.java
deleted file mode 100644
index fc9e02d..0000000
index d3fb533..0000000
--- a/src/com/eteks/sweethome3d/MacOSXConfiguration.java
+++ /dev/null
@@ -1,837 +0,0 @@
@@ -1,864 +0,0 @@
-/*
- * MacOSXConfiguraton.java 6 sept. 2006
- *
......@@ -191,44 +188,24 @@ index fc9e02d..0000000
- }
-
- final JFrame defaultFrame = frame;
- boolean applicationListenerSupported = false;
- try {
- // Add a listener to Mac OS X application that will call
- // controller methods of the active frame
- macosxApplication.addApplicationListener(new ApplicationAdapter() {
- @Override
- public void handleQuit(ApplicationEvent ev) {
- MacOSXConfiguration.handleQuit(homeApplication, defaultController, defaultFrame);
- }
-
- @Override
- public void handleAbout(ApplicationEvent ev) {
- MacOSXConfiguration.handleAbout(homeApplication, defaultController, defaultFrame);
- ev.setHandled(true);
- }
-
- @Override
- public void handlePreferences(ApplicationEvent ev) {
- MacOSXConfiguration.handlePreferences(homeApplication, defaultController, defaultFrame);
- }
-
- @Override
- public void handleOpenFile(ApplicationEvent ev) {
- // handleOpenFile is called when user opens a document
- // associated with a Java Web Start application
- // Just call main with -open file arguments as JNLP specifies
- MacOSXConfiguration.handleOpenFile(homeApplication, ev.getFilename());
- }
-
- @Override
- public void handleReOpenApplication(ApplicationEvent ev) {
- // handleReOpenApplication is called when user launches
- // the application when it's already open
- MacOSXConfiguration.handleReOpenApplication(homeApplication);
- }
- });
- // Call macosxApplication.addApplicationListener(new MacOSXApplicationListener(homeApplication, defaultController, defaultFrame));
- macosxApplication.getClass().getMethod("addApplicationListener", Class.forName("com.apple.eawt.ApplicationListener")).invoke(macosxApplication,
- MacOSXApplicationListener.class.getConstructor(SweetHome3D.class, HomeController.class, JFrame.class).newInstance(homeApplication, defaultController, defaultFrame));
- macosxApplication.setEnabledAboutMenu(true);
- macosxApplication.setEnabledPreferencesMenu(true);
- } catch (NoSuchMethodError er) {
- applicationListenerSupported = true;
- } catch (NoSuchMethodException ex) {
- } catch (IllegalAccessException ex) {
- } catch (InvocationTargetException ex) {
- } catch (ClassNotFoundException ex) {
- } catch (InstantiationException ex) {
- }
-
- if (!applicationListenerSupported) {
- // Probably running under Java 9 where previous methods were removed
- if (OperatingSystem.isJavaVersionGreaterOrEqual("1.9")) {
- // Use the new handlers of Java 9 once compiling with Java 9 library is enabled
......@@ -264,8 +241,8 @@ index fc9e02d..0000000
- Class<?> quitStrategyEnum = Class.forName("java.awt.desktop.QuitStrategy");
- desktopClass.getMethod("setQuitStrategy", quitStrategyEnum).invoke(
- desktopInstance, quitStrategyEnum.getField("CLOSE_ALL_WINDOWS").get(null));
- } catch (Exception ex) {
- ex.printStackTrace();
- } catch (Exception ex2) {
- ex2.printStackTrace();
- }
- }
- }
......@@ -871,9 +848,56 @@ index fc9e02d..0000000
- public static boolean isWindowFullScreen(final JFrame frame) {
- return fullScreen;
- }
-
- /**
- * Listener for Mac OS X application events.
- * Declared in a separated static class and instantiated by reflection to be able to run Sweet Home 3D with Java 10.
- */
- private static class MacOSXApplicationListener extends ApplicationAdapter {
- private final JFrame defaultFrame;
- private final SweetHome3D homeApplication;
- private final HomeController defaultController;
-
- public MacOSXApplicationListener(SweetHome3D homeApplication, HomeController defaultController, JFrame defaultFrame) {
- this.defaultFrame = defaultFrame;
- this.homeApplication = homeApplication;
- this.defaultController = defaultController;
- }
-
- @Override
- public void handleQuit(ApplicationEvent ev) {
- MacOSXConfiguration.handleQuit(this.homeApplication, this.defaultController, this.defaultFrame);
- }
-
- @Override
- public void handleAbout(ApplicationEvent ev) {
- MacOSXConfiguration.handleAbout(this.homeApplication, this.defaultController, this.defaultFrame);
- ev.setHandled(true);
- }
-
- @Override
- public void handlePreferences(ApplicationEvent ev) {
- MacOSXConfiguration.handlePreferences(this.homeApplication, this.defaultController, this.defaultFrame);
- }
-
- @Override
- public void handleOpenFile(ApplicationEvent ev) {
- // handleOpenFile is called when user opens a document
- // associated with a Java Web Start application
- // Just call main with -open file arguments as JNLP specifies
- MacOSXConfiguration.handleOpenFile(this.homeApplication, ev.getFilename());
- }
-
- @Override
- public void handleReOpenApplication(ApplicationEvent ev) {
- // handleReOpenApplication is called when user launches
- // the application when it's already open
- MacOSXConfiguration.handleReOpenApplication(this.homeApplication);
- }
- }
-}
diff --git a/src/com/eteks/sweethome3d/SweetHome3D.java b/src/com/eteks/sweethome3d/SweetHome3D.java
index 1e40064..d739cef 100644
index 0059285..04a67b3 100644
--- a/src/com/eteks/sweethome3d/SweetHome3D.java
+++ b/src/com/eteks/sweethome3d/SweetHome3D.java
@@ -486,7 +486,7 @@ public class SweetHome3D extends HomeApplication {
......@@ -885,7 +909,7 @@ index 1e40064..d739cef 100644
}
// Run everything else in Event Dispatch Thread
@@ -520,9 +520,9 @@ public class SweetHome3D extends HomeApplication {
@@ -524,9 +524,9 @@ public class SweetHome3D extends HomeApplication {
if (System.getProperty("apple.laf.useScreenMenuBar") == null) {
// Use Mac OS X screen menu bar for frames menu bar
// except for bundles under macOS 10.13
......@@ -898,7 +922,7 @@ index 1e40064..d739cef 100644
}
// Force the use of Quartz under Mac OS X for better Java 2D rendering performance
System.setProperty("apple.awt.graphics.UseQuartz", "true");
@@ -598,8 +598,7 @@ public class SweetHome3D extends HomeApplication {
@@ -602,8 +602,7 @@ public class SweetHome3D extends HomeApplication {
&& home.getName() == null
&& !home.isRecovered()) {
if (OperatingSystem.isMacOSXLionOrSuperior()
......
From: Markus Koschany <apo@debian.org>
Date: Wed, 13 Sep 2017 09:54:28 +0200
Subject: no video
Date: Sun, 14 Oct 2018 14:36:26 +0200
Subject: no-video
---
build.xml | 2 ++
......@@ -12,10 +12,10 @@ Subject: no video
6 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/build.xml b/build.xml
index 9e24c72..71c5ab7 100644
index fbd89aa..fc66d0e 100644
--- a/build.xml
+++ b/build.xml
@@ -55,6 +55,8 @@
@@ -57,6 +57,8 @@
<pathelement location="libtest/AppleJavaExtensions.jar"/>
<pathelement location="libtest/jnlp.jar"/>
</classpath>
......@@ -25,7 +25,7 @@ index 9e24c72..71c5ab7 100644
<!-- Copy resources excepted furniture, textures and help files -->
diff --git a/src/com/eteks/sweethome3d/swing/SwingViewFactory.java b/src/com/eteks/sweethome3d/swing/SwingViewFactory.java
index 0723419..54fe73c 100644
index 62f2983..877077e 100644
--- a/src/com/eteks/sweethome3d/swing/SwingViewFactory.java
+++ b/src/com/eteks/sweethome3d/swing/SwingViewFactory.java
@@ -60,7 +60,6 @@ import com.eteks.sweethome3d.viewcontroller.TextureChoiceView;
......@@ -36,7 +36,7 @@ index 0723419..54fe73c 100644
import com.eteks.sweethome3d.viewcontroller.View;
import com.eteks.sweethome3d.viewcontroller.ViewFactory;
import com.eteks.sweethome3d.viewcontroller.WallController;
@@ -320,12 +319,12 @@ public class SwingViewFactory implements ViewFactory {
@@ -320,11 +319,11 @@ public class SwingViewFactory implements ViewFactory {
/**
* Returns a new view able to create 3D videos of the given home.
*/
......@@ -45,17 +45,16 @@ index 0723419..54fe73c 100644
UserPreferences preferences,
VideoController videoController) {
return new VideoPanel(home, preferences, videoController);
}
-
+ */
- }
+ }*/
/**
* Returns a new view that displays Sweet Home 3D help.
*/
diff --git a/src/com/eteks/sweethome3d/swing/package.properties b/src/com/eteks/sweethome3d/swing/package.properties
index 190815e..f748fcb 100644
index 0e862c6..763dadb 100644
--- a/src/com/eteks/sweethome3d/swing/package.properties
+++ b/src/com/eteks/sweethome3d/swing/package.properties
@@ -1202,8 +1202,8 @@ HomePane.CREATE_PHOTOS_AT_POINTS_OF_VIEW.Name=Create photos at points of view...
@@ -1238,8 +1238,8 @@ HomePane.CREATE_PHOTOS_AT_POINTS_OF_VIEW.Name=Create photos at points of view...
HomePane.CREATE_PHOTOS_AT_POINTS_OF_VIEW.ShortDescription=Create photos at stored points of view
HomePane.CREATE_PHOTOS_AT_POINTS_OF_VIEW.MnemonicKey=C
......@@ -67,10 +66,10 @@ index 190815e..f748fcb 100644
# Note to translators: do not copy the following key in localized file
HomePane.CREATE_VIDEO.SmallIcon=resources/icons/tango/camera-video.png
diff --git a/src/com/eteks/sweethome3d/viewcontroller/HomeController.java b/src/com/eteks/sweethome3d/viewcontroller/HomeController.java
index 292402a..1b70338 100644
index 11840cb..6b520e8 100644
--- a/src/com/eteks/sweethome3d/viewcontroller/HomeController.java
+++ b/src/com/eteks/sweethome3d/viewcontroller/HomeController.java
@@ -336,7 +336,7 @@ public class HomeController implements Controller {
@@ -337,7 +337,7 @@ public class HomeController implements Controller {
homeView.setEnabled(HomeView.ActionType.VIEW_FROM_OBSERVER, true);
homeView.setEnabled(HomeView.ActionType.MODIFY_3D_ATTRIBUTES, true);
homeView.setEnabled(HomeView.ActionType.CREATE_PHOTO, true);
......@@ -80,10 +79,10 @@ index 292402a..1b70338 100644
homeView.setEnabled(HomeView.ActionType.HELP, true);
homeView.setEnabled(HomeView.ActionType.ABOUT, true);
diff --git a/src/com/eteks/sweethome3d/viewcontroller/VideoController.java b/src/com/eteks/sweethome3d/viewcontroller/VideoController.java
index 6775ca7..f5bf116 100644
index 1b25633..5789a0a 100644
--- a/src/com/eteks/sweethome3d/viewcontroller/VideoController.java
+++ b/src/com/eteks/sweethome3d/viewcontroller/VideoController.java
@@ -98,9 +98,10 @@ public class VideoController implements Controller {
@@ -99,9 +99,10 @@ public class VideoController implements Controller {
*/
public DialogView getView() {
// Create view lazily only once it's needed
......
From: Markus Koschany <apo@debian.org>
Date: Wed, 13 Sep 2017 09:54:49 +0200
Date: Sun, 14 Oct 2018 14:29:14 +0200
Subject: noadditionalprovisions
---
......@@ -7,7 +7,7 @@ Subject: noadditionalprovisions
1 file changed, 1 insertion(+)
diff --git a/build.xml b/build.xml
index 71c5ab7..faef3e5 100644
index 7253874..fbd89aa 100644
--- a/build.xml
+++ b/build.xml
@@ -95,6 +95,7 @@
......
04manifest
04manifest.patch
noadditionalprovisions.patch
disable-checkForUpdates.patch
no-MacOSX.patch
no-video.patch
noadditionalprovisions.patch
build.patch
no-MacOSX.patch
java9-compatibility.patch
import-library-with-OpenJDK10.patch
jeks-enum.patch