22
33import javax .swing .JLabel ;
44import javax .swing .JMenuItem ;
5+ import javax .swing .JOptionPane ;
56import javax .swing .JPanel ;
67
78import main .java .backend_data .Direction ;
@@ -959,12 +960,13 @@ private void removeDnDTargetElements() {
959960 private void moveHeaderUp (HeaderComponent sourceHeaderComponent ) {
960961 Header targetParent = connectedHeader .getParentElement ();
961962 Header sourceParent = sourceHeaderComponent .connectedHeader .getParentElement ();
962- // Backend
963- // remove from source
964- sourceParent .deleteSubheader (sourceHeaderComponent .connectedHeader );
965- int newNr = connectedHeader .getOwnNr ();
966963
964+
967965 if (isShiftingAllowed (sourceHeaderComponent .connectedHeader )) {
966+ // Backend
967+ // remove from source
968+ sourceParent .deleteSubheader (sourceHeaderComponent .connectedHeader );
969+ int newNr = connectedHeader .getOwnNr ();
968970 // Insert Start
969971 if (newNr == 1 ) {
970972 targetParent .insertNewSubheaderStart (sourceHeaderComponent .connectedHeader );
@@ -976,8 +978,8 @@ private void moveHeaderUp(HeaderComponent sourceHeaderComponent) {
976978 assert sourceHeaderComponent .connectedHeader .getOwnNr () == newNr ;
977979 }
978980 assert connectedHeader .getParentElement ().equals (targetParent );
979- reloadComponents ();
980981 }
982+ reloadComponents ();
981983
982984 }
983985
@@ -991,11 +993,12 @@ private void moveHeaderUp(HeaderComponent sourceHeaderComponent) {
991993 private void moveHeaderDown (HeaderComponent sourceHeaderComponent ) {
992994 Header targetParent = connectedHeader .getParentElement ();
993995 Header sourceParent = sourceHeaderComponent .connectedHeader .getParentElement ();
994- // remove from source
995- sourceParent .deleteSubheader (sourceHeaderComponent .connectedHeader );
996- int newNr = connectedHeader .getOwnNr ();
996+
997997
998998 if (isShiftingAllowed (sourceHeaderComponent .connectedHeader )) {
999+ // remove from source
1000+ sourceParent .deleteSubheader (sourceHeaderComponent .connectedHeader );
1001+ int newNr = connectedHeader .getOwnNr ();
9991002 // Insert at End
10001003 if (newNr > targetParent .getSubheaderSize ()) {
10011004 targetParent .insertNewSubheaderEnd (sourceHeaderComponent .connectedHeader );
@@ -1007,8 +1010,8 @@ private void moveHeaderDown(HeaderComponent sourceHeaderComponent) {
10071010 assert sourceHeaderComponent .connectedHeader .getOwnNr () == newNr + 1 ;
10081011 }
10091012 assert connectedHeader .getParentElement ().equals (targetParent );
1010- reloadComponents ();
10111013 }
1014+ reloadComponents ();
10121015 }
10131016
10141017 /**
@@ -1024,9 +1027,9 @@ private void moveHeaderSub(HeaderComponent sourceHeaderComponent) {
10241027 if (isShiftingAllowed (sourceHeaderComponent .connectedHeader )) {
10251028 sourceParent .deleteSubheader (sourceHeaderComponent .connectedHeader );
10261029 connectedHeader .insertNewSubheaderStart (sourceHeaderComponent .connectedHeader );
1027- assert connectedHeader .getParentElement ().equals (connectedHeader );
1028- reloadComponents ();
1030+ assert connectedHeader .getParentElement ().equals (connectedHeader );
10291031 }
1032+ reloadComponents ();
10301033 }
10311034
10321035 /**
@@ -1039,8 +1042,10 @@ private void moveHeaderSub(HeaderComponent sourceHeaderComponent) {
10391042 * @return true= shifting allowed | false = shifting is not allowed.
10401043 */
10411044 private boolean isShiftingAllowed (Header sourceHeader ) {
1042- if (connectedHeader == sourceHeader || sourceHeader .isHeaderInParentHeader (connectedHeader ))
1045+ if (connectedHeader == sourceHeader || sourceHeader .isHeaderInParentHeader (connectedHeader )) {
1046+ JOptionPane .showMessageDialog (null ,"Actions from header to subheader are not allowed." );
10431047 return false ;
1048+ }
10441049 else
10451050 return true ;
10461051 }
0 commit comments