1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 package com.sun.star.wizards.db; 24 25 import com.sun.star.wizards.common.JavaTools; 26 import com.sun.star.wizards.common.PropertyNames; 27 28 /** 29 * 30 * @author bc93774 31 */ 32 public class BlindtextCreator 33 { 34 35 public static final String BlindText = 36 "Ut wisi enim ad minim veniam, quis nostrud exerci tation " + "ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor " + "in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at " + "vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore " + "te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy " + "nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, " + "quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. " + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum " + "dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent " + "luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis " + "eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum."; 37 adjustBlindTextlength(String FieldTitle, int FieldWidth, boolean bIsCurLandscape, boolean bIsGroupTable, String[] _RecordFieldNames)38 public static String adjustBlindTextlength(String FieldTitle, int FieldWidth, boolean bIsCurLandscape, boolean bIsGroupTable, String[] _RecordFieldNames) 39 { 40 String BlindTextString = PropertyNames.EMPTY_STRING; 41 if (bIsGroupTable) 42 { 43 return getBlindTextString(FieldTitle, FieldWidth, FieldWidth); 44 } 45 int MaxFieldCount = getMaxFieldCount(bIsCurLandscape); 46 if (_RecordFieldNames.length <= 2 * MaxFieldCount) 47 { 48 if (_RecordFieldNames.length <= MaxFieldCount) 49 { 50 BlindTextString = getBlindTextString(FieldTitle, FieldWidth, FieldWidth); 51 } 52 else 53 { 54 BlindTextString = getBlindTextString(FieldTitle, FieldWidth, (int) (0.5 * FieldWidth)); 55 } 56 } 57 else 58 { 59 BlindTextString = getBlindTextString(FieldTitle, FieldWidth, (int) 1.1 * FieldTitle.length()); 60 } 61 return BlindTextString; 62 } 63 getBlindTextString(String FieldTitle, int FieldWidth, int MaxWidth)64 public static String getBlindTextString(String FieldTitle, int FieldWidth, int MaxWidth) 65 { 66 String[] BlindTextArray = JavaTools.ArrayoutofString(BlindText, PropertyNames.SPACE); 67 String PartBlindText = BlindTextArray[0]; 68 String NewPartBlindText; 69 int MaxHeaderWidth; 70 int Titlelength = (int) 1.1 * FieldTitle.length(); // We assume that the TableHeading is bold 71 72 if (Titlelength > PartBlindText.length()) 73 { 74 MaxHeaderWidth = Titlelength; 75 } 76 else 77 { 78 MaxHeaderWidth = PartBlindText.length(); 79 } 80 if (MaxHeaderWidth > MaxWidth) 81 { 82 MaxWidth = MaxHeaderWidth; 83 } 84 int i = 1; 85 do 86 { 87 NewPartBlindText = PartBlindText + PropertyNames.SPACE + BlindTextArray[i]; 88 if (NewPartBlindText.length() < MaxWidth) 89 { 90 PartBlindText = NewPartBlindText; 91 i += 1; 92 } 93 } 94 while (NewPartBlindText.length() < MaxWidth); 95 return PartBlindText; 96 } 97 getMaxFieldCount(boolean bIsCurLandscape)98 private static int getMaxFieldCount(boolean bIsCurLandscape) 99 { 100 if (bIsCurLandscape) 101 { 102 return 5; 103 } 104 else 105 { 106 return 3; 107 } 108 } 109 } 110