summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-uml/diagClass.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-uml/diagClass.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pst-uml/diagClass.tex130
1 files changed, 130 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-uml/diagClass.tex b/Master/texmf-dist/doc/generic/pst-uml/diagClass.tex
new file mode 100644
index 00000000000..0048b5cb19e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-uml/diagClass.tex
@@ -0,0 +1,130 @@
+% \documentclass[11pt,a4paper,twoside]{article}
+% \usepackage[T1]{fontenc}
+% \usepackage[applemac]{inputenc}
+% % \usepackage[latin1]{inputenc}
+% \usepackage{pst-uml}
+% \begin{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Placement des objet}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\drawClassi}{%
+ \umlClass{Classe1}{%
+ umlClassWidth = 0 \\
+ (par défaut) \\\hline
+ Attribut2 Tres tres longue ligne \\ \hline
+ Attribut3 \\ \hline %
+ Méthode1%
+}}
+
+\newcommand{\drawClassii}{%
+ \umlClass[umlClassWidth=4cm,umlParameter={\ T\ }]{Classe2}{%
+ largeur = 4cm \\ \hline
+ Attribut2 \\ \hline %
+ Methode1\\
+ Methode2%
+}}
+
+\newcommand{\drawClassiii}{%
+ \umlClass[umlClassWidth=2.7]{Classe3}{%
+ attribut 1 \\
+ attribut 1\\ \hline
+ Methode1 \\
+ Methode2%
+}}
+
+\newcommand{\drawClassiv}{%
+ \umlClass{Classe4}{%
+ MonAttribut 1 \\
+ MonAttribut 2 \\ \hline
+ Methode1%
+}}
+
+% Classe5 : largeur automatique et titre seul
+\newcommand{\drawClassv}{%
+ \umlClass[umlClassWidth=0]{Classe5}{}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Placement des objets
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{pspicture}(18,15)\psgrid
+ \rput(3,13){\rnode{Class1}{\drawClassi}}
+ \pnode(17.5,13){pnode1}
+ \rput(9,10){\rnode{Class2}{\drawClassii}}
+ \rput(2,5){\rnode{Class3}{\drawClassiii}}
+ \rput(12,5){\rnode{Class4}{\drawClassiv}}
+ \rput(5.5,5.5){\rnode{Class5}{\drawClassv}}
+ %
+ \rput(16,11){\rnode{Actor1}{\umlActor{Acteur(é) 1}}}
+\end{pspicture}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Dessin des liens et labels
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% La grande boucle en deux étapes :
+\ncline{Class1}{pnode1}
+\ncputicon[npos=0.7,nrot=:U]{umlV}
+\naput{ncline}\naput[npos=1,ref=r]{Node "P1"}
+\ncSXE[armA=11.5]{pnode1}{Class3}
+\nbput{SXE (armA=11.5)}
+\ncputicon{umlV}% debut
+\ncputicon[npos=1.9999,nrot=:U]{umlV}
+\ncputicon[npos=2,nrot=:U]{umlV}
+\ncputicon[npos=5,nrot=:U]{umlV}% fin ERREUR si nrot=4 ok pour 5!!!!
+%
+\ncSE{Class1}{Class2}
+\naput[npos=1.5]{\{ncSE npos=1.5\}}
+\ncSE[offset=-1]{Class1}{Class2}
+\ncputicon{umlAgreg} % debut
+\ncputicon[npos=2,nrot=:U]{umlCompos}% fin
+\nbput[npos=0.3]{0..*}
+\naput[npos=1.8]{0..2}
+\naput[npos=1.4]{ncSE,offset=-1}
+%
+\ncSHS[armA=1.5]{Class2}{Class4}\naput{ncSHS}
+\ncSHS[armA=1.5]{Class2}{Class3}\nbput{ncSHS}
+\ncputicon{umlHerit}% héritage au debut
+\ncputicon[npos=3,nrot=:U]{umlV}% V en fin
+%
+\ncSHN[arm=.7]{Class3}{Class4}
+\naput{ncSHN (3 vers 4)}
+\ncputicon[npos=1.8,nrot=:U]{umlV}% fleche au milieu vers destination !
+%
+% \ncE[npos=0.4]{Class5}{Class4}\naput{ncE,npos=0.4}
+\ncE{Class5}{Class4}\naput[npos=0.4]{ncE,npos=0.4}
+\ncputicon{umlCompos}
+%
+% Essai de définition d'un style personnalisé
+\newpsstyle{umlDependance}{%
+ linestyle=dashed,
+ arrows=->,
+ arrowscale=3,
+ arrowinset=0.6
+}
+\ncline[style=umlDependance,offset=-0.5]{Class3}{Class4}
+\naput{ncline}
+\ncputicon{umlV}% fleche au debut
+\nbput[npos=0.15]{1..*}
+%
+% % % On peut coller n'importe quoi par rapport à un node :
+% % % Essai pour mettre un template sur une classe : prévoir
+% % % une option du style [umlTemplate=myString]
+% % \nput*[labelsep=-0.8,offset=1.4]%
+% % {0}{Class2}{\psframebox%
+% % [fillstyle=solid,fillcolor=white,linestyle=dashed]%
+% % {\LARGE\textbf{\ T\ }}}
+% % %
+% Lien de Class2 et Class4 vers l'acteur :
+\ncline[linestyle=dashed]{Class2}{Actor1}
+\naput{ncline}
+\ncputicon{umlAgreg}
+\ncputicon[npos=0.7,nrot=:U]{umlAgreg}
+\ncputicon[npos=1,nrot=:U]{umlCompos} % en fin
+%
+\nccurve[linestyle=dashed, angleA=75,offsetA=-1,angleB=-45]{Class4}{Actor1}
+\ncputicon{umlHerit} % debut
+\ncputicon[npos=0.7,nrot=:U]{umlHerit}
+\ncputicon[npos=1,nrot=:U]{umlHerit}% en fin
+
+% \end{document}