[Uml-devel] branches/work/isi-umbrello
Thibault Normand
thibault.normand at gmail.com
Mon Feb 12 13:00:27 UTC 2007
SVN commit 632836 by tnormand:
SVN MERGE 632832
M +2 -3 doc/cervisia/index.docbook
M +4 -5 ebn/krazy/plugins/nullstrassign
A scripts/qt4/convert-kmimetype-pixmap.pl trunk/KDE/kdesdk/scripts/qt4/convert-kmimetype-pixmap.pl#632834
M +5 -3 umbrello/ChangeLog
M +6 -8 umbrello/make-umbrello-release.sh
M +1 -1 umbrello/umbrello/CMakeLists.txt
M +6 -4 umbrello/umbrello/dialogs/pkgcontentspage.cpp
M +4 -4 umbrello/umbrello/umldoc.cpp
M +14 -11 umbrello/umbrello/umlobject.cpp
--- branches/work/isi-umbrello/doc/cervisia/index.docbook #632835:632836
@@ -1,6 +1,5 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
- <!ENTITY kappname "&cervisia;">
<!ENTITY package "kdesdk">
<!ENTITY ssh "<command>ssh</command>">
<!ENTITY rsh "<command>rsh</command>">
@@ -412,7 +411,7 @@
text, or you can move the images to a separate folder, and then import
the remaining files (as text files). Either way, you will have to
<link linkend="checkingout">checkout</link> the newly imported module to a
-new working copy, copy the the missing files and folders to it,
+new working copy, copy the missing files and folders to it,
<link linkend="addingfiles">add</link> and
<link linkend="committingfiles">commit</link> them to the repository to complete
the import process.
@@ -423,7 +422,7 @@
module for them. To add an empty module to a repository, just create a new
folder in the &CVS; repository root folder. The name of this new folder will be
the name of the module. <link linkend="checkingout">Checkout</link> the new
-empty module. Then copy the the files and folders to the working copy,
+empty module. Then copy the files and folders to the working copy,
<link linkend="addingfiles">add</link> and
<link linkend="committingfiles">commit</link> to upload them to the &CVS;
repository.
--- branches/work/isi-umbrello/ebn/krazy/plugins/nullstrassign #632835:632836
@@ -97,10 +97,9 @@
$line =~ s+//.*++; #skip C++ comments
if ($line =~ m/[_0-9A-za-z::space::]*=[[:space:]]*QString::[Nn]ull/ ||
- $line =~ m/return[[:space:]].*[:]*QString::[Nn]ull/) {
- # permit QString::null in initializers.
- next if ($line =~ m/QString::[Nn]ull,/);
- next if ($line =~ m/QString::[Nn]ull[[:space:]]*\)/);
+ $line =~ m/return[[:space:]].*[:]*QString::[Nn]ull/ ||
+ $line =~ m/QString::[Nn]ull,/ ||
+ $line =~ m/QString::[Nn]ull[[:space:]]*\)/) {
$cnt++;
if ($cnt == 1) {
$lstr = "line\#" . $linecnt;
@@ -130,6 +129,6 @@
}
sub Explain {
- print "Do not assign QString::null to a QString. Instead use the .clear() method. For example, \"str = QString::null\" becomes \"str.clear()\". When returning an empty string from a method use \"return QString()\".";
+ print "Do not assign QString::null to a QString. Instead use the .clear() method. For example, \"str = QString::null\" becomes \"str.clear()\". When returning an empty string from a method use \"return QString()\" When passing an empty string use \"QString()\".";
exit 0 if $explain;
}
--- branches/work/isi-umbrello/umbrello/ChangeLog #632835:632836
@@ -1,8 +1,10 @@
Version 1.5.61
+* Copy/paste of attribute or operation in list view within same class
+* Improved loading of files from older versions
+* Ada import updated for Ada2005
* Bugs fixed from http://bugs.kde.org:
-* Fixed crash on creating various types of associations (140693, 141073, 141106, 141277)
- http://sourceforge.net/mailarchive/forum.php?thread_id=31539549&forum_id=460
+* Crash on creating various types of associations (140693, 141073, 141106, 141277)
* Unclickable use case diagram (140870)
Version 1.5.6
@@ -23,7 +25,7 @@
* Bugs/wishes from http://bugs.kde.org:
* Association line nodes don't drag along with multiply-selected classes (57878)
* Disappearing parameters when editing class properties (114477)
-* Umbrello saves too much copies at xmi (135606)
+* Umbrello saves too many copies in xmi (135606)
* Artifacts of a component diagram are wrongly placed in Deployment View folder (137564)
* Incorrect export to SQL (138139)
--- branches/work/isi-umbrello/umbrello/make-umbrello-release.sh #632835:632836
@@ -3,9 +3,8 @@
# Make a release from the current branches/KDE/3.5/kdesdk/umbrello
#
# Run this script as follows:
-# ./make-umbrello-release.sh VERSION KDEUSER [BRANCH_VERSION]
+# . make-umbrello-release.sh VERSION [BRANCH_VERSION]
# VERSION is the version to release.
-# KDEUSER is your KDE SVN user name.
# BRANCH_VERSION defaults to 3.5.
# @todo Create release from trunk if BRANCH_VERSION not given.
# Note: trunk uses the cmake based build process.
@@ -14,20 +13,19 @@
# as the work area for building the release.
# The release tarfile will be placed in the current working dir.
#
-if [ $# -lt 2 ]; then
+if [ $# -lt 1 ]; then
echo "usage:"
- echo " ./make-umbrello-release.sh VERSION KDEUSER [BRANCH_VERSION]"
+ echo " . make-umbrello-release.sh VERSION [BRANCH_VERSION]"
exit 1
fi
version=$1
-user=$2
branchver=3.5
-if [ $# -gt 2 ]; then
- branchver=$3
+if [ $# -gt 1 ]; then
+ branchver=$2
fi
origdir=`pwd`
udir=umbrello-$version
-svnroot=svn+ssh://${user}@svn.kde.org:/home/kde/branches/KDE/$branchver
+svnroot=svn://anonsvn.kde.org:/home/kde/branches/KDE/$branchver
cd /tmp
svn co -N $svnroot/kdesdk
cd kdesdk
--- branches/work/isi-umbrello/umbrello/umbrello/CMakeLists.txt #632835:632836
@@ -15,7 +15,7 @@
macro_additional_clean_files( ${CMAKE_CURRENT_BINARY_DIR}/version.h )
create_version(${CMAKE_SOURCE_DIR}/umbrello/VERSION ${CMAKE_CURRENT_BINARY_DIR}/version.h)
-include_directories (${LIBXML2_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/)
+include_directories (${LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/)
set(libcodegenerator_SRCS
codegenerators/codegenfactory.cpp
--- branches/work/isi-umbrello/umbrello/umbrello/dialogs/pkgcontentspage.cpp #632835:632836
@@ -66,14 +66,16 @@
if (!i)
return;
int item = m_pContentLB -> currentItem();
- UMLObject *o = m_pPackage->containedObjects().at(item);
+ UMLObjectList contents = m_pPackage->containedObjects();
+ UMLObject *o = contents.at(item);
ClassPropDlg dlg(this, o, item, true);
dlg.exec();
}
void PkgContentsPage::fillListBox() {
m_pContentLB->clear();
- UMLObjectListIt objList_it(m_pPackage->containedObjects());
+ UMLObjectList contents = m_pPackage->containedObjects();
+ UMLObjectListIt objList_it(contents);
UMLObject* umlo = NULL;
int i = 0;
while ((umlo = objList_it.current()) != NULL) {
@@ -109,8 +111,8 @@
switch(id) {
case ListPopupMenu::mt_Delete:
{
- UMLObject *o = m_pPackage->containedObjects().at(
- m_pContentLB->currentItem() );
+ UMLObjectList contents = m_pPackage->containedObjects();
+ UMLObject *o = contents.at( m_pContentLB->currentItem() );
UMLApp::app()->getDocument()->removeUMLObject(o);
fillListBox();
}
--- branches/work/isi-umbrello/umbrello/umbrello/umldoc.cpp #632835:632836
@@ -1870,10 +1870,10 @@
}
UMLClassifierList UMLDoc::getDatatypes() {
+ UMLObjectList objects = m_datatypeRoot->containedObjects();
UMLClassifierList datatypeList;
UMLObject *obj;
- for (UMLObjectListIt oit(m_datatypeRoot->containedObjects());
- (obj = oit.current()) != NULL; ++oit) {
+ for (UMLObjectListIt oit(objects); (obj = oit.current()) != NULL; ++oit) {
if (obj->getBaseType() == ot_Datatype) {
datatypeList.append(static_cast<UMLClassifier*>(obj));
}
@@ -1884,9 +1884,9 @@
UMLAssociationList UMLDoc::getAssociations() {
UMLAssociationList associationList;
for (int i = 0; i < Uml::N_MODELTYPES; i++) {
+ UMLAssociationList assocs = m_root[i]->getAssociations();
UMLAssociation *a;
- for (UMLAssociationListIt ait(m_root[i]->getAssociations());
- (a = ait.current()) != NULL; ++ait)
+ for (UMLAssociationListIt ait(assocs); (a = ait.current()) != NULL; ++ait)
associationList.append(a);
}
return associationList;
--- branches/work/isi-umbrello/umbrello/umbrello/umlobject.cpp #632835:632836
@@ -414,10 +414,13 @@
}
}
if (m_SecondaryFallback.isEmpty()) {
- kError() << "UMLObject::resolveRef(" << m_Name
- << "): cannot find type with id "
- << m_SecondaryId << endl;
- return false;
+ if (m_SecondaryId.isEmpty()) {
+ kError() << "UMLObject::resolveRef(" << m_Name
+ << "): both m_SecondaryId and m_SecondaryFallback are empty"
+ << endl;
+ return false;
+ }
+ m_SecondaryFallback = m_SecondaryId;
}
#ifdef VERBOSE_DEBUGGING
kDebug() << "UMLObject::resolveRef(" << m_Name
@@ -435,7 +438,6 @@
maybeSignalObjectCreated();
return true;
}
- //pDoc->setIsOldFile(true);
// Work around Object_Factory::createUMLObject()'s incapability
// of on-the-fly scope creation:
if (m_SecondaryId.contains("::")) {
@@ -458,8 +460,7 @@
<< "failed to create a new type for " << m_SecondaryId << endl;
return false;
}
- kDebug() << "UMLObject::resolveRef: Creating new type for "
- << m_SecondaryId << endl;
+ kDebug() << "UMLObject::resolveRef: Creating new type for " << m_SecondaryId << endl;
// This is very C++ specific - we rely on some '*' or
// '&' to decide it's a ref type. Plus, we don't recognize
// typedefs of ref types.
@@ -594,12 +595,14 @@
if (!stereo.isEmpty()) {
Uml::IDType stereoID = STR2ID(stereo);
m_pStereotype = umldoc->findStereotypeById(stereoID);
- if (m_pStereotype)
+ if (m_pStereotype) {
m_pStereotype->incrRefCount();
- else
- kError() << "UMLObject::loadFromXMI(" << m_Name << "): "
+ } else {
+ kDebug() << "UMLObject::loadFromXMI(" << m_Name << "): "
<< "UMLStereotype " << ID2STR(stereoID)
- << " not found" << endl;
+ << " not found, creating now." << endl;
+ setStereotype(stereo);
+ }
}
if( element.hasAttribute("abstract") ) { // for bkwd compat.
More information about the umbrello-devel
mailing list