package com.hikapro.backpack.view;

import android.content.Context;

import com.hikapro.backpack.model.Model;
import com.hikapro.backpack.model.entities.Item;
import com.hikapro.backpack.model.entities.Set;
import com.hikapro.backpack.presenter.Presenter;
import com.hikapro.backpack.presenter.adapters.helper.sets.OnStartDragListener;

/**
 * Created by tariel on 19/04/16.
 */
public interface View {

    interface Base {
        Context getAppContext();
        Context getActivityContext();
    }
    interface SetList extends Base {
        void showItemList(Set set);
        void setPresenter(Presenter.SetList presenter);

        //GLM_add_resources_SetList
        OnStartDragListener getOnStartDragListener();
    }

    interface ItemList extends Base {
        void showItemDetail(int setId, Model.Item baseModel, int position);
        void showPackedItems(Set set);
        void setPresenter(Presenter.ItemList presenter);
        Set getSet();
    }
    interface ItemDetail extends Base {
        void setPresenter(Presenter.ItemDetail presenter);
        int getSetId();
    }

    interface Share extends Base {
        void setPresenter(Presenter.Share presenter);
    }

    interface Add extends Base {
        void setPresenter(Presenter.Add presenter);
        void setNewItem(Item item);
        Set getSet();
    }

    interface ActivityCallback {
        void startSetListFragment();
        void startItemListFragment(Set set);
        void startPackedListFragment(Set set);
        void startItemDetailFragment(int setId, Model.Item baseModel, int position);
        void startShareFragment(int setId);
        void startAddFragment(Set set);

    }
}
