All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup.EditVJournalTabPane Maven / Gradle / Ivy

The newest version!
package jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup;

import java.time.temporal.Temporal;
import java.util.List;

import javafx.fxml.FXML;
import jfxtras.icalendarfx.VCalendar;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.properties.component.recurrence.RecurrenceRule;
import jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.EditChoiceDialog;
import jfxtras.scene.control.agenda.icalendar.editors.revisors.SimpleRevisorFactory;

/** 
 * TabPane for editing descriptive properties and a {@link RecurrenceRule} for a {@link VJournal}.
 * 
 * @author David Bal
 */
public class EditVJournalTabPane extends EditDisplayableTabPane
{
    public EditVJournalTabPane( )
    {
        super();
        editDescriptiveVBox = new EditDescriptiveVJournalVBox();
        descriptiveAnchorPane.getChildren().add(0, editDescriptiveVBox);
        recurrenceRuleVBox = new EditRecurrenceRuleVJournalVBox();
        recurrenceRuleAnchorPane.getChildren().add(0, recurrenceRuleVBox);
    }
    
    @Override
    @FXML void handleSaveButton()
    {
        super.handleSaveButton();        
        Object[] params = new Object[] {
                vComponentOriginal,
                EditChoiceDialog.EDIT_DIALOG_CALLBACK,
                editDescriptiveVBox.startOriginalRecurrence,
                editDescriptiveVBox.startRecurrenceProperty.get(),
                vComponentCopy,
                vComponentOriginal
        };
        List result = SimpleRevisorFactory.newReviser(vComponentCopy, params).revise();
        iTIPMessagesProperty().set(result);
//        List result = (List) SimpleRevisorFactory.newReviser(vComponent, params).revise();
//        newVComponentsProperty().set(result);
//        isFinished.set(result);
   }
    
    @Override
    void removeEmptyProperties()
    {
        if (editDescriptiveVBox.descriptionTextArea.getText().isEmpty())
        {
            vComponentCopy.setDescriptions(null);
        }
    }
    
    @Override
    public void setupData(
            VJournal vComponentOriginal,
            Temporal startRecurrence,
            Temporal endRecurrence,
            List categories)
    {
        this.vComponentOriginal = vComponentOriginal;
        vComponentCopy = new VJournal(vComponentOriginal);
        super.setupData(vComponentCopy, startRecurrence, endRecurrence, categories);
//        vComponentOriginal = new VJournal(vComponent);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy