// Generated by data binding compiler. Do not edit!
package com.toughra.ustadmobile.databinding;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.widget.NestedScrollView;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import com.toughra.ustadmobile.R;
import com.ustadmobile.core.controller.ReportDetailPresenter;
import com.ustadmobile.core.util.IdOption;
import com.ustadmobile.lib.db.entities.DateRangeMoment;
import com.ustadmobile.lib.db.entities.ReportWithSeriesWithFilters;
import com.ustadmobile.port.android.view.DropDownListAutoCompleteTextView;
import com.ustadmobile.port.android.view.IdOptionAutoCompleteTextView;
import com.ustadmobile.port.android.view.ReportEditFragmentEventHandler;
import java.lang.Deprecated;
import java.lang.Object;
import java.util.List;

public abstract class FragmentReportEditBinding extends ViewDataBinding {
  @NonNull
  public final ItemCreatenewBinding activityEditReportSeriesAddLayout;

  @NonNull
  public final RecyclerView activityReportEditSeriesList;

  @NonNull
  public final IdOptionAutoCompleteTextView fragmentEditReportDialogDaterangeText;

  @NonNull
  public final TextInputLayout fragmentEditReportDialogDaterangeTextinputlayout;

  @NonNull
  public final IdOptionAutoCompleteTextView fragmentEditReportDialogXaxisText;

  @NonNull
  public final TextInputLayout fragmentEditReportDialogXaxisTextinputlayout;

  @NonNull
  public final TextInputLayout fragmentReportEditDescriptionLayout;

  @NonNull
  public final TextInputEditText fragmentReportEditDescriptionText;

  @NonNull
  public final ConstraintLayout fragmentReportEditEditClx;

  @NonNull
  public final NestedScrollView fragmentReportEditEditScroll;

  @NonNull
  public final TextInputEditText fragmentReportEditTitle;

  @NonNull
  public final TextInputLayout fragmentReportEditTitleLayout;

  @Bindable
  protected ReportWithSeriesWithFilters mReport;

  @Bindable
  protected boolean mLoading;

  @Bindable
  protected boolean mFieldsEnabled;

  @Bindable
  protected String mTitleErrorText;

  @Bindable
  protected ReportDetailPresenter mMPresenter;

  @Bindable
  protected ReportEditFragmentEventHandler mEventHandler;

  @Bindable
  protected DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> mXAxisSelectionListener;

  @Bindable
  protected List<IdOption> mXAxisOptions;

  @Bindable
  protected List<IdOption> mDateRangeOptions;

  @Bindable
  protected DateRangeMoment mDateRangeMomentSelected;

  protected FragmentReportEditBinding(Object _bindingComponent, View _root, int _localFieldCount,
      ItemCreatenewBinding activityEditReportSeriesAddLayout,
      RecyclerView activityReportEditSeriesList,
      IdOptionAutoCompleteTextView fragmentEditReportDialogDaterangeText,
      TextInputLayout fragmentEditReportDialogDaterangeTextinputlayout,
      IdOptionAutoCompleteTextView fragmentEditReportDialogXaxisText,
      TextInputLayout fragmentEditReportDialogXaxisTextinputlayout,
      TextInputLayout fragmentReportEditDescriptionLayout,
      TextInputEditText fragmentReportEditDescriptionText,
      ConstraintLayout fragmentReportEditEditClx, NestedScrollView fragmentReportEditEditScroll,
      TextInputEditText fragmentReportEditTitle, TextInputLayout fragmentReportEditTitleLayout) {
    super(_bindingComponent, _root, _localFieldCount);
    this.activityEditReportSeriesAddLayout = activityEditReportSeriesAddLayout;
    this.activityReportEditSeriesList = activityReportEditSeriesList;
    this.fragmentEditReportDialogDaterangeText = fragmentEditReportDialogDaterangeText;
    this.fragmentEditReportDialogDaterangeTextinputlayout = fragmentEditReportDialogDaterangeTextinputlayout;
    this.fragmentEditReportDialogXaxisText = fragmentEditReportDialogXaxisText;
    this.fragmentEditReportDialogXaxisTextinputlayout = fragmentEditReportDialogXaxisTextinputlayout;
    this.fragmentReportEditDescriptionLayout = fragmentReportEditDescriptionLayout;
    this.fragmentReportEditDescriptionText = fragmentReportEditDescriptionText;
    this.fragmentReportEditEditClx = fragmentReportEditEditClx;
    this.fragmentReportEditEditScroll = fragmentReportEditEditScroll;
    this.fragmentReportEditTitle = fragmentReportEditTitle;
    this.fragmentReportEditTitleLayout = fragmentReportEditTitleLayout;
  }

  public abstract void setReport(@Nullable ReportWithSeriesWithFilters report);

  @Nullable
  public ReportWithSeriesWithFilters getReport() {
    return mReport;
  }

  public abstract void setLoading(boolean loading);

  public boolean getLoading() {
    return mLoading;
  }

  public abstract void setFieldsEnabled(boolean fieldsEnabled);

  public boolean getFieldsEnabled() {
    return mFieldsEnabled;
  }

  public abstract void setTitleErrorText(@Nullable String titleErrorText);

  @Nullable
  public String getTitleErrorText() {
    return mTitleErrorText;
  }

  public abstract void setMPresenter(@Nullable ReportDetailPresenter mPresenter);

  @Nullable
  public ReportDetailPresenter getMPresenter() {
    return mMPresenter;
  }

  public abstract void setEventHandler(@Nullable ReportEditFragmentEventHandler eventHandler);

  @Nullable
  public ReportEditFragmentEventHandler getEventHandler() {
    return mEventHandler;
  }

  public abstract void setXAxisSelectionListener(
      @Nullable DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> xAxisSelectionListener);

  @Nullable
  public DropDownListAutoCompleteTextView.OnDropDownListItemSelectedListener<IdOption> getXAxisSelectionListener(
      ) {
    return mXAxisSelectionListener;
  }

  public abstract void setXAxisOptions(@Nullable List<IdOption> xAxisOptions);

  @Nullable
  public List<IdOption> getXAxisOptions() {
    return mXAxisOptions;
  }

  public abstract void setDateRangeOptions(@Nullable List<IdOption> dateRangeOptions);

  @Nullable
  public List<IdOption> getDateRangeOptions() {
    return mDateRangeOptions;
  }

  public abstract void setDateRangeMomentSelected(
      @Nullable DateRangeMoment dateRangeMomentSelected);

  @Nullable
  public DateRangeMoment getDateRangeMomentSelected() {
    return mDateRangeMomentSelected;
  }

  @NonNull
  public static FragmentReportEditBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot) {
    return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.fragment_report_edit, root, attachToRoot, component)
   */
  @NonNull
  @Deprecated
  public static FragmentReportEditBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
    return ViewDataBinding.<FragmentReportEditBinding>inflateInternal(inflater, R.layout.fragment_report_edit, root, attachToRoot, component);
  }

  @NonNull
  public static FragmentReportEditBinding inflate(@NonNull LayoutInflater inflater) {
    return inflate(inflater, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.fragment_report_edit, null, false, component)
   */
  @NonNull
  @Deprecated
  public static FragmentReportEditBinding inflate(@NonNull LayoutInflater inflater,
      @Nullable Object component) {
    return ViewDataBinding.<FragmentReportEditBinding>inflateInternal(inflater, R.layout.fragment_report_edit, null, false, component);
  }

  public static FragmentReportEditBinding bind(@NonNull View view) {
    return bind(view, DataBindingUtil.getDefaultComponent());
  }

  /**
   * This method receives DataBindingComponent instance as type Object instead of
   * type DataBindingComponent to avoid causing too many compilation errors if
   * compilation fails for another reason.
   * https://issuetracker.google.com/issues/116541301
   * @Deprecated Use DataBindingUtil.bind(view, component)
   */
  @Deprecated
  public static FragmentReportEditBinding bind(@NonNull View view, @Nullable Object component) {
    return (FragmentReportEditBinding)bind(component, view, R.layout.fragment_report_edit);
  }
}
