/**
  * Zeigt das Menu in Abhaengigkeit der Action.
  *
  * <p>Ist die Action == EDIT, wird im Item R.id.menu_item_create_RegelmBuchung_fromUmsatz die ID
  * des Umsatzes unter ID in einem Intent gespeichert.
  *
  * <p>Ist die Action == EDIT und ist es eine Umbuchung, wird unter R.id.menu_item_toUmbuchung die
  * ID der Gegenbuchung unter ID in einem Intent gespeichert.
  */
 @Override
 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
   super.onCreateOptionsMenu(menu, inflater);
   Intent intent = new Intent();
   inflater.inflate(R.menu.fragment_buchungen, menu);
   switch (getMainAction()) {
     case ADD:
       menu.findItem(R.id.menu_item_delete_Buchung).setVisible(false);
       menu.findItem(R.id.menu_item_toUmbuchung).setVisible(false);
       menu.findItem(R.id.menu_item_create_RegelmBuchung_fromUmsatz).setVisible(false);
       break;
     case EDIT:
       MenuItem item;
       if (mUmsatz.isInserted()) {
         intent.putExtra(ID, mUmsatz.getID());
         item = menu.findItem(R.id.menu_item_create_RegelmBuchung_fromUmsatz);
         item.setIntent(intent);
       }
       item = menu.findItem(R.id.menu_item_toUmbuchung);
       if (mUmsatz.isUmbuchung()) {
         menu.findItem(R.id.menu_item_delete_Buchung).setVisible(false);
         menu.findItem(R.id.menu_item_SplitBuchung).setVisible(false);
         intent.putExtra(ID, mUmsatz.getAsLong(R.string.column_transferID));
         item.setIntent(intent);
       } else {
         item.setVisible(false);
       }
       break;
   }
 }
 /** Bindet die View an Daten. Wird gerufen, wenn sich Inhalte der View geaendert haben koennen */
 @CallSuper
 protected void bindView() {
   View contentView = getView();
   for (int resID : viewResIDs) {
     TextView view = (TextView) contentView.findViewById(resID);
     switch (resID) {
       case R.id.tvAmount:
         CalculatorTextCurrency ecAmount = (CalculatorTextCurrency) view;
         ecAmount.setValue(mUmsatz.getAsLong(R.string.column_amount, 0));
         if (mUmsatz.isUmbuchung() || mUmsatz.hasSplitBuchung()) {
           ecAmount.setFocusable(false);
         }
         break;
       case R.id.actvCat:
         MonMaAutoCompleteTextView actvCat = (MonMaAutoCompleteTextView) view;
         MonMaAutoCompleteTextView.Target target = MonMaAutoCompleteTextView.Target.Categorie;
         actvCat.initialize(target, this);
         Long id =
             mUmsatz.getAsLong(
                 R.string.column_catID,
                 -mUmsatz.getAsLong(R.string.column_transferaccountID, NOID));
         String text = Categorie.getCatName(id);
         actvCat.setText(text);
         if (mUmsatz.hasSplitBuchung()) {
           actvCat.setText(R.string.Splittbuchung);
           actvCat.setFocusable(false);
         } else {
           if (mUmsatz.isUmbuchung()) {
             actvCat.setFocusable(false);
           }
         }
         break;
       case R.id.tvBtag:
         AWDateTextView tvBtag = (AWDateTextView) view;
         tvBtag.setDate(mUmsatz.getBuchungsDatum());
         break;
       case R.id.tvMemo:
         view.setText(mUmsatz.getMemo());
         break;
       case R.id.actvPayee:
         MonMaAutoCompleteTextView actvPayee = (MonMaAutoCompleteTextView) view;
         actvPayee.setText(mUmsatz.getPartnerName());
         break;
     }
   }
 }
 @Override
 protected void setInternalArguments(Bundle args) {
   super.setInternalArguments(args);
   args.putIntArray(VIEWRESIDS, viewResIDs);
   args.putIntArray(FROMRESIDS, fromResIDs);
   args.putInt(LAYOUT, layout);
   mUmsatz = args.getParcelable(UMSATZ);
   showDetails = args.getBoolean(SHOWDIALOG, false);
   if (mUmsatz.isDetail()) {
     showDetails = true;
     Long id = mUmsatz.getAsLong(R.string.column_transferID);
     try {
       mUmsatz = new BankUmsatz(id);
       args.putParcelable(UMSATZ, mUmsatz);
     } catch (AWApplicationGeschaeftsObjekt.LineNotFoundException e) {
       // TODO Execption bearbeiten
       e.printStackTrace();
     }
   }
 }