[brailleblaster] push by rebecca....@xxxxxxxxx - allow editing to cells and lines boxes on 2015-02-04 21:00 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 04 Feb 2015 21:00:50 +0000

Revision: 449eb841940f
Branch:   new1738
Author:   Rebecca Luttmer <rebecca.luttmer@xxxxxxxxx>
Date:     Wed Feb  4 21:00:13 2015 UTC
Log:      allow editing to cells and lines boxes
https://code.google.com/p/brailleblaster/source/detail?r=449eb841940f

Modified:
 /src/main/org/brailleblaster/settings/SettingsManager.java
 /src/main/org/brailleblaster/settings/ui/PagePropertiesTab.java

=======================================
--- /src/main/org/brailleblaster/settings/SettingsManager.java Wed Jan 7 21:10:16 2015 UTC +++ /src/main/org/brailleblaster/settings/SettingsManager.java Wed Feb 4 21:00:13 2015 UTC
@@ -302,6 +302,16 @@
                return cellWidth*numberOfCells;

        }
+       public double calcWidthFromCells(double numberOfCells){
+               double cellWidth;
+               if (!isMetric())
+                       cellWidth=0.246063;
+               else
+                       cellWidth=6.25;
+
+               return cellWidth*numberOfCells;
+
+       }

        public double calcHeightFromLines(double numberOfLines){
                Double cellHeight;
=======================================
--- /src/main/org/brailleblaster/settings/ui/PagePropertiesTab.java Tue Feb 3 14:27:27 2015 UTC +++ /src/main/org/brailleblaster/settings/ui/PagePropertiesTab.java Wed Feb 4 21:00:13 2015 UTC
@@ -242,8 +242,7 @@
                                                                        
settingsMap.put(
                                                                                
        type,
                                                                                
        String.valueOf(df
-                                                                               
                        .format(calcWidthFromCells(Integer
-                                                                               
                                        .valueOf((getStringValue(t)))))));
+                                                                               
                        .format(calcWidthFromCells((int) 
getDoubleValue((t))))));
                                                                }// if 
cellsLinesButton
                                                                else {
                                                                        
settingsMap.put(type, getStringValue(t));
@@ -253,27 +252,20 @@
                                                                if 
(regionalButton.getSelection()) {
                                                                        
settingsMap.put(type, getStringValue(t));
                                                                        
cellsBox.setText(String
-                                                                               
        .valueOf(calculateCellsPerLine(Double
-                                                                               
                        .valueOf(widthBox.getText()))));
+                                                                               
        .valueOf(calculateCellsPerLine(getDoubleValue(widthBox))));
                                                                        
linesBox.setText(String
-                                                                               
        .valueOf(calculateLinesPerPage(Double
-                                                                               
                        .valueOf(heightBox
-                                                                               
                                        .getText()))));
+                                                                               
        .valueOf(calculateLinesPerPage(getDoubleValue(heightBox))));

                                                                }// if 
regionalButton
                                                                else {
                                                                        
settingsMap.put(
                                                                                
        type,
                                                                                
        String.valueOf(df
-                                                                               
                        .format(calcWidthFromCells(Integer
-                                                                               
                                        .valueOf((getStringValue(t)))))));
+                                                                               
                        .format(calcWidthFromCells((int) getDoubleValue(t)))));
                                                                        
cellsBox.setText(String
-                                                                               
        .valueOf(calculateCellsPerLine(Double
-                                                                               
                        .valueOf(widthBox.getText()))));
+                                                                               
        .valueOf(calculateCellsPerLine(getDoubleValue(widthBox))));
                                                                        
linesBox.setText(String
-                                                                               
        .valueOf(calculateLinesPerPage(Double
-                                                                               
                        .valueOf(heightBox
-                                                                               
                                        .getText()))));
+                                                                               
        .valueOf(calculateLinesPerPage(getDoubleValue(heightBox))));
                                                                }// else 
cellsLinesButton
                                                        }// else 
notListenerLocked
                                                }// else correctValues
@@ -286,9 +278,10 @@
                        t.addModifyListener(new ModifyListener() {
                                @Override
                                public void modifyText(ModifyEvent e) {
+
                                        if (!userModified) {
                                                Double margin;
-                                               if 
(currentUnits.equals("regional"))
+                                               if 
(regionalButton.getSelection())
                                                        margin = 
getDoubleValue(t);
                                                else
                                                        margin = 
sm.calcHeightFromLines(getDoubleValue(t));
@@ -306,8 +299,7 @@
                                                                        
settingsMap.put(
                                                                                
        type,
                                                                                
        String.valueOf(df.format(sm
-                                                                               
                        .calcHeightFromLines(Integer
-                                                                               
                                        .valueOf((getStringValue(t)))))));
+                                                                               
                        .calcHeightFromLines(getDoubleValue(t)))));
                                                                }// if 
cellsLinesButton
                                                                else {

@@ -318,26 +310,19 @@
                                                                if 
(regionalButton.getSelection()) {
                                                                        
settingsMap.put(type, getStringValue(t));
                                                                        
cellsBox.setText(String
-                                                                               
        .valueOf(calculateCellsPerLine(Double
-                                                                               
                        .valueOf(widthBox.getText()))));
+                                                                               
        .valueOf(calculateCellsPerLine(getDoubleValue(widthBox))));
                                                                        
linesBox.setText(String
-                                                                               
        .valueOf(calculateLinesPerPage(Double
-                                                                               
                        .valueOf(heightBox
-                                                                               
                                        .getText()))));
+                                                                               
        .valueOf(calculateLinesPerPage(getDoubleValue(heightBox))));
                                                                }// if 
regionalButton
                                                                else {
                                                                        
settingsMap.put(
                                                                                
        type,
                                                                                
        String.valueOf(df.format(sm
-                                                                               
                        .calcHeightFromLines(Integer
-                                                                               
                                        .valueOf((getStringValue(t)))))));
+                                                                               
                        .calcHeightFromLines(getDoubleValue(t)))));
                                                                        
cellsBox.setText(String
-                                                                               
        .valueOf(calculateCellsPerLine(Double
-                                                                               
                        .valueOf(widthBox.getText()))));
+                                                                               
        .valueOf(calculateCellsPerLine(getDoubleValue(widthBox))));
                                                                        
linesBox.setText(String
-                                                                               
        .valueOf(calculateLinesPerPage(Double
-                                                                               
                        .valueOf(heightBox
-                                                                               
                                        .getText()))));
+                                                                               
        .valueOf(calculateLinesPerPage(getDoubleValue(heightBox))));
                                                                }// else 
cellsLinesButton
                                                        }// else not 
listenerLocked
                                                }// else correctSettings
@@ -451,6 +436,7 @@
                cellsBox.addModifyListener(new ModifyListener() {
                        @Override
                        public void modifyText(ModifyEvent e) {
+                               userModifiesCellsBox();
                                if (!listenerLocked) {
                                        settingsMap.put("cellsPerLine", 
getStringValue(cellsBox));
                                }
@@ -460,32 +446,17 @@
                linesBox.addModifyListener(new ModifyListener() {
                        @Override
                        public void modifyText(ModifyEvent e) {
-
-                               userModifiesLinesBox();
+
+                               if (!userModified) {
+                                       userModifiesLinesBox();
+                               }

-                               if (!listenerLocked)
+                               if (!listenerLocked)
                                        settingsMap.put("linesPerPage", 
getStringValue(linesBox));
-
+
                        }// modifyText

-
                });// modifyListener
-
-               linesBox.addVerifyListener(new VerifyListener() {
-
-                       @Override
-                       public void verifyText(VerifyEvent ve) {
-                               try {
-                                       if (!userModified) {
-                                               userModifiesLinesBox();
-                                       }//if
-                               }//try
-                               catch (NumberFormatException e) {
-                                       ve.doit = false;
-                               }
-
-                       }
-               });

                pageTypes.addSelectionListener(new SelectionAdapter() {
                        @Override
@@ -657,23 +628,23 @@

        public void modifyMargins() {

-               if (userModified == false) {
+               if (!userModified) {

                        Boolean isRegional = getRadioSelection();

                        if (isRegional) {

                                String leftMargin = 
settingsMap.get("leftMargin");
-                               marginLeftBox.setText(leftMargin);
+                               
marginLeftBox.setText(df.format(Double.valueOf(leftMargin)));

                                String rightMargin = 
settingsMap.get("rightMargin");
-                               marginRightBox.setText(rightMargin);
+                               
marginRightBox.setText(df.format(Double.valueOf(rightMargin)));

                                String topMargin = settingsMap.get("topMargin");
-                               marginTopBox.setText(topMargin);
+                               
marginTopBox.setText(df.format(Double.valueOf(topMargin)));

                                String bottomMargin = 
settingsMap.get("bottomMargin");
-                               marginBottomBox.setText(bottomMargin);
+                               
marginBottomBox.setText(df.format(Double.valueOf(bottomMargin)));

                        }

@@ -825,48 +796,117 @@
                c.setLayoutData(location);
        }

-       private void userModifiesLinesBox() throws NumberFormatException {
+       private void userModifiesLinesBox() {

-               userModified = true;
+               if (!directMarginEdit()) {

-               int maxLines = calculateLinesPerInch(Double.valueOf(settingsMap
-                               .get("paperHeight")));
-               if (cellsLinesButton.getSelection()) {
-                       if ((Double.valueOf(marginTopBox.getText()) + Double
-                                       .valueOf(linesBox.getText())) > 
maxLines) {
-                               new 
Notify(lh.localValue("incorectMarginHeight"));
-                               marginTopBox.setText(String
-                                               
.valueOf(calculateLinesPerInch(Double
-                                                               
.valueOf(settingsMap.get("topMargin")))));
-                               
linesBox.setText(settingsMap.get("linesPerPage"));
-                       }// if incorrect margins
-                       else {
- marginBottomBox.setText(String.valueOf(maxLines-(Integer.valueOf(linesBox.getText())+
-                                               
(Integer.valueOf(marginTopBox.getText())))));
- settingsMap.put("bottomMargin",String.valueOf(marginBottomBox.getText()));
-                               settingsMap.put("linesPerPage", 
String.valueOf(linesBox.getText()));
-                       }// else correct margins
-               }// if cellsLines button
-               else {
-                       if 
((calculateLinesPerInch(Double.valueOf(marginTopBox.getText()))+
-                                       Double.valueOf(linesBox.getText()))> 
maxLines) {
-                               new Notify 
(lh.localValue("incorectMarginHeight"));
-                               
marginTopBox.setText(String.valueOf(calculateLinesPerInch
-                                               
(Double.valueOf(settingsMap.get("topMargin")))));
-                               
linesBox.setText(settingsMap.get("linesPerPage"));
-                       }//if incorrect margins
+                       userModified = true;
+
+                       int maxLines = 
calculateLinesPerInch(Double.valueOf(settingsMap
+                                       .get("paperHeight")));
+                       if (cellsLinesButton.getSelection()) {
+ if ((getDoubleValue(marginTopBox) + getDoubleValue(linesBox)) > maxLines) {
+                                       new 
Notify(lh.localValue("incorectMarginHeight"));
+                                       
linesBox.setText(settingsMap.get("linesPerPage"));
+                               }// if incorrect input cellsLines
+                               else {
+                                       marginBottomBox
+                                                       .setText(String
+ .valueOf((int) (maxLines - (getDoubleValue(linesBox) + (getDoubleValue(marginTopBox))))));
+                                       settingsMap
+                                                       .put("bottomMargin",
+                                                                       
String.valueOf(sm
+                                                                               
        .calcHeightFromLines(getDoubleValue(marginBottomBox))));
+                                       settingsMap.put("linesPerPage", 
getStringValue(linesBox));
+                               }// else correct input cellsLines
+                       }// if cellsLines button
                        else {
- marginBottomBox.setText(String.valueOf(df.format(maxLines-(Double.valueOf(linesBox.getText())+
-                                               
(Double.valueOf(marginTopBox.getText()))))));
-                       }
-               }// else regionalButton
+ if ((calculateLinesPerInch(getDoubleValue(marginTopBox)) + getDoubleValue(linesBox)) > maxLines) {
+                                       new 
Notify(lh.localValue("incorectMarginHeight"));
+                                       
linesBox.setText(settingsMap.get("linesPerPage"));
+                               }// if incorrect input regional
+                               else {
+                                       marginBottomBox
+                                                       
.setText(String.valueOf(df
+                                                                       
.format(sm.calcHeightFromLines(maxLines)
+                                                                               
        - (sm.calcHeightFromLines(getDoubleValue(linesBox) +
+                                                                               
                        (getDoubleValue(marginTopBox)))))));
+                                       settingsMap
+                                                       .put("bottomMargin",
+                                                                       
String.valueOf(sm
+                                                                               
        .calcHeightFromLines(getDoubleValue(marginBottomBox))));
+                                       settingsMap.put("linesPerPage",
+                                                       
String.valueOf(linesBox.getText()));
+                               }// else correct input regional
+                       }// else regionalButton

-               System.out.println(maxLines);
-               System.out.println(settingsMap);
+                       System.out.println(maxLines);
+                       System.out.println(settingsMap);

-               userModified = false;
+                       userModified = false;
+
+               }// is isn't focus control

        }// userModifiesLinesBox

+       private void userModifiesCellsBox() {
+
+               if (!directMarginEdit()) {
+
+                       userModified = true;
+                       int maxCells = 
calculateCellsPerInch(Double.valueOf(settingsMap
+                                       .get("paperWidth")));
+                       if (cellsLinesButton.getSelection()) {
+                               if ((Double.valueOf(marginLeftBox.getText()) + 
Double
+                                               .valueOf(cellsBox.getText())) > 
maxCells) {
+                                       new 
Notify(lh.localValue("incorrectMarginWidth"));
+                                       
cellsBox.setText(settingsMap.get("cellsPerLine"));
+                               }// if incorrect input cellsLines
+                               else {
+                                       marginRightBox
+                                                       .setText(String
+                                                                       
.valueOf((int) (maxCells - (getDoubleValue(cellsBox) +
+                                                                               
        (getDoubleValue(marginLeftBox))))));
+                                       settingsMap.put("rightMargin", String
+                                                       
.valueOf(sm.calcWidthFromCells(getDoubleValue(marginRightBox))));
+                                       settingsMap.put("cellsPerLine", 
getStringValue(cellsBox));
+                               }// else correct input cellsLines
+                       }// if cellsLines Buttons
+                       else {
+ if ((calculateCellsPerInch(getDoubleValue(marginLeftBox)) + getDoubleValue(cellsBox)) > maxCells) {
+                                       new 
Notify(lh.localValue("incorrectMarginWidth"));
+                                       
cellsBox.setText(settingsMap.get("cellsPerLine"));
+                               }// if incorrect input regional
+                               else {
+                                       marginRightBox
+                                                       
.setText(String.valueOf(df
+                                                                       
.format(sm.calcWidthFromCells(maxCells)
+                                                                               
        - (sm.calcWidthFromCells(getDoubleValue(cellsBox)) +
+                                                                               
                        getDoubleValue(marginLeftBox)))));
+                                       settingsMap.put("topMargin", String
+                                                       
.valueOf(sm.calcWidthFromCells(getDoubleValue(marginRightBox))));
+                                       settingsMap.put("cellsPerLine",
+                                                       
String.valueOf(cellsBox.getText()));
+                               }// else correct input regional
+
+                       }// else regional button
+
+                       System.out.println(maxCells);
+                       System.out.println(settingsMap);
+                       userModified = false;
+               }// if not directMarginEdit
+       }// userModifiesCellsBox
+
+       private boolean directMarginEdit() {
+               if (marginBottomBox.isFocusControl() || 
marginTopBox.isFocusControl()
+                               || marginLeftBox.isFocusControl()
+                               || marginRightBox.isFocusControl()) {
+                       return true;
+               }// if
+               else {
+                       return false;
+               }// else
+       }// directMarginEdit
+
 }// pagePropertiesTabClass


Other related posts:

  • » [brailleblaster] push by rebecca....@xxxxxxxxx - allow editing to cells and lines boxes on 2015-02-04 21:00 GMT - brailleblaster