BrightSide Workbench Full Report + Source Code
org.turro.financials.register.MultiRegisterGrid Class Reference
Inheritance diagram for org.turro.financials.register.MultiRegisterGrid:
Collaboration diagram for org.turro.financials.register.MultiRegisterGrid:

Public Member Functions

 MultiRegisterGrid ()
 
void setRegister (Register register)
 
boolean isAutocheck ()
 
void setAutocheck (boolean autocheck)
 
boolean isRegularizeIRPF ()
 
void setRegularizeIRPF (boolean regularizeIRPF)
 
boolean isRegularizeVAT ()
 
void setRegularizeVAT (boolean regularizeVAT)
 
void doCheck ()
 
void save (final boolean close)
 
void delete (final boolean close)
 
void loadPosibleAccounts ()
 
void loadUsedAccounts ()
 
void afterCompose ()
 
- Public Member Functions inherited from org.turro.zkoss.grid.CollectionGrid< V >
 CollectionGrid ()
 
 CollectionGrid (Collection< V > collection)
 
Collection< V > getCollection ()
 
void setCollection (Collection< V > collection)
 
void updateCollection (Collection< V > collection)
 
Row getDependingRow ()
 
void setDependingRow (Row dependingRow)
 
void clearTable ()
 
void deleteSelectedRow (Row row)
 
- Public Member Functions inherited from org.turro.zkoss.grid.EditableGrid< V >
 EditableGrid ()
 
boolean isAllowDeletions ()
 
void setAllowDeletions (boolean allowDeletions)
 
boolean isAllowInsertions ()
 
void setAllowInsertions (boolean allowInsertions)
 
EditableCell getCurrentCell ()
 
Row getLastRow ()
 
boolean isReadOnly ()
 
void setReadOnly (boolean readOnly)
 
boolean isSelectInput ()
 
void setSelectInput (boolean selectInput)
 
boolean isShowZeros ()
 
void setShowZeros (boolean showZeros)
 
void clearFoot ()
 
void clearRows ()
 
void clearValidRows ()
 
void clearColumns ()
 
List< V > getValues ()
 
List< V > getAllValues ()
 
EventListener getEditListener ()
 
EventListener getNextListener ()
 
EventListener getKeyListener ()
 
EventListener getBlurListener ()
 
EventListener getCancelListener ()
 
void processEdition (EditableCell editableCell)
 
void cancelEdition ()
 
HtmlBasedComponent getEditor (EditableCell editableCell)
 
Row appendValue ()
 
Row addNewRow ()
 
void insertInSelectedRow (Row row)
 
Column getEditableColumn (int cellIndex)
 
void updateRow (Row row)
 
void updateRows ()
 
EditableColumn addColumn (String label, Class javaClass, String property, String format, int scale, boolean onlyDate, boolean readOnly)
 
EditableColumn addColumn (String label, String javaClass, String property, String format, int scale, boolean onlyDate, boolean readOnly) throws ClassNotFoundException
 
EditableColumn addColumn (String image, String tooltip, Class javaClass, String property, String format, int scale, boolean onlyDate, boolean readOnly)
 
EditableColumn addColumn (String image, String tooltip, String javaClass, String property, String format, int scale, boolean onlyDate, boolean readOnly) throws ClassNotFoundException
 
- Public Member Functions inherited from org.turro.zkoss.grid.PagingGrid
void setColumns (int columns)
 
void setColumns (String hflexs)
 
void refine ()
 
boolean isDefaultBehavior ()
 
void setDefaultBehavior (boolean defaultBehavior)
 
String getRefineValue ()
 
void setRefineValue (String value)
 
int getMaxResults ()
 
void setMaxResults (int maxResults)
 
String getPagingMold ()
 
void setPagingMold (String pagingMold)
 
int getRowCount ()
 
void setRowCount (int rows)
 
void setHeadersVisible (boolean value)
 
boolean isHeadersVisible ()
 
String getVarColumns ()
 
void setVarColumns (String varColumns)
 
Collection< String > getVarColumnsList (String defaultCols)
 
void addDetailColumn ()
 
void addDetailColumn (HtmlBasedComponent caption)
 
void openDetails ()
 
boolean isEmpty ()
 
void clearEmptyGroups ()
 
Columns getColumns (boolean create)
 
Rows getRows (boolean create)
 
Foot getFoot (boolean create)
 
Foot createFoot ()
 
void exportToPdf ()
 

Protected Member Functions

void initiateRow (Row row, MultiRegisterEntry value)
 
boolean deleteRow (Row row)
 
boolean isValid (MultiRegisterEntry v)
 
void cellChanged (EditableCell editableCell, Object value)
 
void rowChanged (Row row)
 
String formatCell (EditableCell editableCell, Object value)
 
HtmlBasedComponent createEditor (EditableCell editableCell)
 
- Protected Member Functions inherited from org.turro.zkoss.grid.CollectionGrid< V >
boolean filterValue (V v)
 
- Protected Member Functions inherited from org.turro.zkoss.grid.EditableGrid< V >
Object getCellValue (EditableCell editableCell)
 
Object getEditorValue (EditableCell editableCell)
 
void setCellValue (EditableCell editableCell, Object value)
 
HtmlBasedComponent createRenderer (EditableCell editableCell)
 
boolean isCellValid (EditableCell editableCell, Object value)
 
boolean canDeleteRow (Row row)
 
boolean canEditRow (Row row)
 
abstract void initiateRow (Row row, V value)
 
abstract boolean isValid (V v)
 

Additional Inherited Members

- Public Attributes inherited from org.turro.zkoss.grid.EditableGrid< V >
EditEventListener editListener
 
NextEventListener nextListener
 
KeyEventListener keyListener
 
CancelEventListener cancelListener
 
BlurEventListener blurListener
 
boolean allowInsertions
 
- Protected Attributes inherited from org.turro.zkoss.grid.CollectionGrid< V >
Row dependingRow
 
- Protected Attributes inherited from org.turro.zkoss.grid.EditableGrid< V >
EditableCell currentCell
 
String ctrlKeys
 
Row lastRow
 

Detailed Description

Author
Lluis Turró Cutiller lluis.nosp@m.@tur.nosp@m.ro.or.nosp@m.g

Definition at line 54 of file MultiRegisterGrid.java.

Constructor & Destructor Documentation

◆ MultiRegisterGrid()

org.turro.financials.register.MultiRegisterGrid.MultiRegisterGrid ( )

Definition at line 61 of file MultiRegisterGrid.java.

61  {
62  super(new TreeSet<MultiRegisterEntry>());
63  }

Member Function Documentation

◆ afterCompose()

void org.turro.financials.register.MultiRegisterGrid.afterCompose ( )

Reimplemented from org.turro.zkoss.grid.CollectionGrid< V >.

Definition at line 327 of file MultiRegisterGrid.java.

327  {
328  try {
329  addColumns();
330  } catch (ClassNotFoundException ex) {
331  Logger.getLogger(MultiRegisterGrid.class.getName()).log(Level.SEVERE, ElephantContext.logMsg(null), ex);
332  }
333  super.afterCompose();
334  }
Here is the call graph for this function:

◆ cellChanged()

void org.turro.financials.register.MultiRegisterGrid.cellChanged ( EditableCell  editableCell,
Object  value 
)
protected

Reimplemented from org.turro.zkoss.grid.CollectionGrid< V >.

Definition at line 260 of file MultiRegisterGrid.java.

260  {
261  super.cellChanged(editableCell, value);
262  MultiRegisterEntry mre = (MultiRegisterEntry) editableCell.getRow().getValue();
263  if(value instanceof Double) {
264  if(mre != null) {
265  mre.checkValues(editableCell.getCellIndex());
266  }
267  updateRow(editableCell.getRow());
268  }
269  if(value instanceof RegisterView) {
270  lastView = (RegisterView) value;
271  if(register != null) {
272  register.setView(lastView);
273  setAllValuesAsRegister();
274  }
275  } else if(value instanceof Date) {
276  lastDate = (Date) value;
277  if(register != null) {
278  register.setRegisterDate(lastDate);
279  setAllValuesAsRegister();
280  }
281  }
282  }
Here is the call graph for this function:

◆ createEditor()

HtmlBasedComponent org.turro.financials.register.MultiRegisterGrid.createEditor ( EditableCell  editableCell)
protected

Reimplemented from org.turro.zkoss.grid.EditableGrid< V >.

Definition at line 305 of file MultiRegisterGrid.java.

305  {
306  if(editableCell.getColumn() instanceof EditableColumn) {
307  EditableColumn ec = (EditableColumn) editableCell.getColumn();
308  if(ec.getJavaClass().equals(RegisterView.class)) {
309  Object value = getCellValue(editableCell);
310  ViewListbox vl = new ViewListbox();
311  vl.setMold("select");
312  if(value != null) vl.setObjectValue((RegisterView) value);
313  return vl;
314  } else if(ec.getJavaClass().equals(Account.class)) {
315  Object value = getCellValue(editableCell);
316  AccountCombobox acb = new AccountCombobox();
317  acb.setAllowNotInModelValues(true);
318  acb.setAllowNewAccount(true);
319  if(value != null) acb.setObjectValue((Account) value);
320  return acb;
321  }
322  }
323  return super.createEditor(editableCell);
324  }
Object getCellValue(EditableCell editableCell)
Here is the call graph for this function:

◆ delete()

void org.turro.financials.register.MultiRegisterGrid.delete ( final boolean  close)

Definition at line 189 of file MultiRegisterGrid.java.

189  {
190  final RegisterWrapper wReg = new RegisterWrapper(register, false);
191  Messages.confirmDeletion().show(() -> {
192  if(wReg.checkSave()) {
193  if(wReg.delete() && close) Framework.getCurrent().closeSelected();
194  }
195  });
196  }
Here is the call graph for this function:

◆ deleteRow()

boolean org.turro.financials.register.MultiRegisterGrid.deleteRow ( Row  row)
protected

Reimplemented from org.turro.zkoss.grid.EditableGrid< V >.

Definition at line 246 of file MultiRegisterGrid.java.

246  {
247  MultiRegisterEntry mre = (MultiRegisterEntry) row.getValue();
248  if(mre != null) {
249  mre.deleteEntry();
250  }
251  return true;
252  }
Here is the call graph for this function:

◆ doCheck()

void org.turro.financials.register.MultiRegisterGrid.doCheck ( )

Definition at line 100 of file MultiRegisterGrid.java.

100  {
101  checkValues();
102  }

◆ formatCell()

String org.turro.financials.register.MultiRegisterGrid.formatCell ( EditableCell  editableCell,
Object  value 
)
protected

Reimplemented from org.turro.zkoss.grid.EditableGrid< V >.

Definition at line 293 of file MultiRegisterGrid.java.

293  {
294  if(value instanceof RegisterView) {
295  RegisterView rv = ((RegisterView) value);
296  return rv.getName();
297  } else if(value instanceof Account) {
298  Account a = ((Account) value);
299  return a.getFullDescription();
300  }
301  return super.formatCell(editableCell, value);
302  }
Here is the call graph for this function:

◆ initiateRow()

void org.turro.financials.register.MultiRegisterGrid.initiateRow ( Row  row,
MultiRegisterEntry  value 
)
protected

Definition at line 233 of file MultiRegisterGrid.java.

233  {
234  if(value == null) {
235  value = new MultiRegisterEntry(register);
236  row.setSclass("invalid");
237  }
238  if(register == null) {
239  value.setView(lastView);
240  value.setDate(lastDate);
241  }
242  row.setValue(value);
243  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isAutocheck()

boolean org.turro.financials.register.MultiRegisterGrid.isAutocheck ( )

Definition at line 76 of file MultiRegisterGrid.java.

76  {
77  return autocheck;
78  }

◆ isRegularizeIRPF()

boolean org.turro.financials.register.MultiRegisterGrid.isRegularizeIRPF ( )

Definition at line 84 of file MultiRegisterGrid.java.

84  {
85  return regularizeIRPF;
86  }

◆ isRegularizeVAT()

boolean org.turro.financials.register.MultiRegisterGrid.isRegularizeVAT ( )

Definition at line 92 of file MultiRegisterGrid.java.

92  {
93  return regularizeVAT;
94  }

◆ isValid()

boolean org.turro.financials.register.MultiRegisterGrid.isValid ( MultiRegisterEntry  v)
protected

Definition at line 255 of file MultiRegisterGrid.java.

255  {
256  return v.isValid();
257  }
Here is the call graph for this function:

◆ loadPosibleAccounts()

void org.turro.financials.register.MultiRegisterGrid.loadPosibleAccounts ( )

Definition at line 198 of file MultiRegisterGrid.java.

198  {
199  cancelEdition();
200  AccountSet accs = AccountCreator.getPosibleAccounts();
201  for(Account acc : accs) {
202  RegisterEntry re = new RegisterEntry();
203  re.setAccount(acc);
204  if(register != null) {
205  re.setRegister(register);
206  register.getRegisterEntries().add(re);
207  }
208  Row row = addNewRow();
209  MultiRegisterEntry mentry = new MultiRegisterEntry(re);
210  initiateRow(row, mentry);
211  }
212  updateRows();
213  }
void initiateRow(Row row, MultiRegisterEntry value)
Here is the call graph for this function:

◆ loadUsedAccounts()

void org.turro.financials.register.MultiRegisterGrid.loadUsedAccounts ( )

Definition at line 215 of file MultiRegisterGrid.java.

215  {
216  cancelEdition();
217  AccountSet accs = AccountCreator.getOnUseAccounts();
218  for(Account acc : accs) {
219  RegisterEntry re = new RegisterEntry();
220  re.setAccount(acc);
221  if(register != null) {
222  re.setRegister(register);
223  register.getRegisterEntries().add(re);
224  }
225  Row row = addNewRow();
226  MultiRegisterEntry mentry = new MultiRegisterEntry(re);
227  initiateRow(row, mentry);
228  }
229  updateRows();
230  }
Here is the call graph for this function:

◆ rowChanged()

void org.turro.financials.register.MultiRegisterGrid.rowChanged ( Row  row)
protected

Reimplemented from org.turro.zkoss.grid.CollectionGrid< V >.

Definition at line 285 of file MultiRegisterGrid.java.

285  {
286  if(autocheck) {
287  checkValues();
288  }
289  super.rowChanged(row);
290  }

◆ save()

void org.turro.financials.register.MultiRegisterGrid.save ( final boolean  close)

Definition at line 104 of file MultiRegisterGrid.java.

104  {
105  if(register != null) {
106  register.setRegularizeVAT(regularizeVAT);
107  register.setRegularizeIRPF(regularizeIRPF);
108  final RegisterWrapper wReg = new RegisterWrapper(register, false);
109  if(wReg.checkSave()) {
110  wReg.save();
111  if(close) Framework.getCurrent().closeSelected();
112  } else {
113  PhraseBuilder pb = new PhraseBuilder(I_.get("Closing date"));
114  pb.addWord("\n");
115  pb.addWord(DateFormats.format(CompanyWrapper.getCompanyClosingDate(), true));
116  if(Application.getApplication().isInRole("finan-model:edit")) {
117  pb.addWord(I_.get("Proceed anyway"));
118  Messages.question().add(pb.toString()).show(() -> {
119  wReg.save();
120  if(close) Framework.getCurrent().closeSelected();
121  });
122  } else {
123  Messages.info(I_.get("Closing date")).add(pb.toString()).show();
124  }
125  }
126  } else {
127  Register reg = null;
128  MultiRegisterEntry lastEntry = null;
129  final HashSet<Register> regs = new HashSet<>();
130  int count = 0;
131  for(Object obj : getRows().getChildren()) {
132  if(obj instanceof Row) {
133  MultiRegisterEntry rentry = (MultiRegisterEntry) ((Row) obj).getValue();
134  if(rentry.isValid()) {
135  if(lastEntry != null && lastEntry.isValid()) {
136  if(!rentry.isSameRegister(lastEntry)) {
137  reg = null;
138  }
139  }
140  if(reg == null) {
141  count = 0;
142  reg = new Register();
143  reg.setRegisterDate(rentry.getDate());
144  reg.setView(rentry.getView());
145  regs.add(reg);
146  }
147  rentry.getEntry().setRegister(reg);
148  rentry.getEntry().setEntryOrder(count++);
149  reg.getRegisterEntries().add(rentry.getEntry());
150  lastEntry = rentry;
151  }
152  }
153  }
154  boolean isSafe = true;
155  for(Register r : regs) {
156  if(!(new RegisterWrapper(r).checkSave())) {
157  isSafe = false;
158  break;
159  }
160  }
161  if(!isSafe) {
162  PhraseBuilder pb = new PhraseBuilder(I_.get("Closing date"));
163  pb.addWord("\n");
164  pb.addWord(DateFormats.format(CompanyWrapper.getCompanyClosingDate(), true));
165  if(Application.getApplication().isInRole("finan-model:edit")) {
166  pb.addWord(I_.get("Proceed anyway"));
167  Messages.question().add(pb.toString()).show(() -> {
168  for(Register r : regs) {
169  r.setRegularizeVAT(regularizeVAT);
170  r.setRegularizeIRPF(regularizeIRPF);
171  new RegisterWrapper(r).save();
172  }
173  if(close) Framework.getCurrent().closeSelected();
174  });
175  } else {
176  Messages.info(I_.get("Closing date")).add(pb.toString()).show();
177  }
178  } else {
179  for(Register r : regs) {
180  r.setRegularizeVAT(regularizeVAT);
181  r.setRegularizeIRPF(regularizeIRPF);
182  new RegisterWrapper(r).save();
183  }
184  if(close) Framework.getCurrent().closeSelected();
185  }
186  }
187  }
Rows getRows(boolean create)
Here is the call graph for this function:

◆ setAutocheck()

void org.turro.financials.register.MultiRegisterGrid.setAutocheck ( boolean  autocheck)

Definition at line 80 of file MultiRegisterGrid.java.

80  {
81  this.autocheck = autocheck;
82  }

◆ setRegister()

void org.turro.financials.register.MultiRegisterGrid.setRegister ( Register  register)

Definition at line 65 of file MultiRegisterGrid.java.

65  {
66  this.register = register;
67  if(this.register != null) {
68  for(RegisterEntry entry : this.register.getRegisterEntries()) {
69  getCollection().add(new MultiRegisterEntry(entry));
70  }
71  regularizeVAT = register.isRegularizeVAT();
72  regularizeIRPF = register.isRegularizeIRPF();
73  }
74  }
Here is the call graph for this function:

◆ setRegularizeIRPF()

void org.turro.financials.register.MultiRegisterGrid.setRegularizeIRPF ( boolean  regularizeIRPF)

Definition at line 88 of file MultiRegisterGrid.java.

88  {
89  this.regularizeIRPF = regularizeIRPF;
90  }

◆ setRegularizeVAT()

void org.turro.financials.register.MultiRegisterGrid.setRegularizeVAT ( boolean  regularizeVAT)

Definition at line 96 of file MultiRegisterGrid.java.

96  {
97  this.regularizeVAT = regularizeVAT;
98  }

The documentation for this class was generated from the following file: