package com.timeslot.ui.main.fragments.navbar
import android.graphics.Color
import android.os.Bundle
import android.support.v4.view.ViewPager
import android.view.ViewGroup.LayoutParams._
import android.view.{Gravity, LayoutInflater, ViewGroup}
import android.widget._
import com.timeslot.R
import com.timeslot.ui.main.fragments.{BaseFragment, Styles}
import com.timeslot.ui.main.style.Measure
import macroid.FullDsl._
import macroid.contrib._
import macroid.viewable.Viewable
/**
* Created by astilo1 on 03/11/15.
*/
case class MenuDate(value:String)
class TopBarFragment extends BaseFragment {
val dates = List(MenuDate("Tu, 3 Nov"),MenuDate("We, 4 Nov"),MenuDate("Th, 5 Nov"),MenuDate("Tu, 6 Nov"),MenuDate("We, 7 Nov"),MenuDate("Th, 8 Nov"),MenuDate("Tu, 9 Nov"),MenuDate("We, 10 Nov"),MenuDate("Th, 11 Nov"))
var dateMenu = slot[ViewPager]
val lps = lp[LinearLayout](MATCH_PARENT, WRAP_CONTENT, 1.0f)
override def onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle) = getUi {
val lps = lp[LinearLayout](MATCH_PARENT, WRAP_CONTENT, Gravity.CENTER_HORIZONTAL) + padding(12,24,12,0)
val pagerLps = lp[LinearLayout](MATCH_PARENT, 64, Gravity.CENTER_HORIZONTAL) + padding(0,-6,0,0)
implicit def dateViewable: Viewable[MenuDate, TextView] =
Viewable[MenuDate] { myDate ⇒ w[TextView] <~ TextTweaks.size(6 sp) <~ text(myDate.value) <~ TextTweaks.color(Color.RED) <~
lp[LinearLayout](WRAP_CONTENT, WRAP_CONTENT, Gravity.TOP)
}
val pageAdapter = new NavbarCalendarAdapter(dates)
l[LinearLayout](
l[LinearLayout](
w[ImageView] <~ ImageTweaks.res(R.drawable.navbar_me) <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_SIZE, Measure.NAVBAR_ITEMS_SIZE, Gravity.LEFT) + padding(6,6,12,0),
w[Space] <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_GAP, Measure.NAVBAR_ITEMS_SIZE, Gravity.LEFT),
w[ImageView] <~ ImageTweaks.res(R.drawable.navbar_logo) <~ lp[LinearLayout](Measure.NAVBAR_LOGO_SIZE , Measure.NAVBAR_LOGO_SIZE , Gravity.CENTER),
w[Space] <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_GAP, Measure.NAVBAR_ITEMS_SIZE, Gravity.LEFT),
w[ImageView] <~ ImageTweaks.res(R.drawable.btn_plus_red) <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_SIZE , Measure.NAVBAR_ITEMS_SIZE , Gravity.RIGHT) + padding(12,6,6,0)
) <~ lps <~ horizontal,
l[LinearLayout](// dateViewable.pagerAdapterTweak(dates)
w[Space] <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_GAP, Measure.NAVBAR_ITEMS_SIZE, Gravity.LEFT),
w[ViewPager] <~ wire(this.dateMenu) <~ PagerTweaks.adapter(pageAdapter) <~ pagerLps <~ BgTweaks.color(R.color.timeslot_light_grey) ,
w[Space] <~ lp[LinearLayout](Measure.NAVBAR_ITEMS_GAP, Measure.NAVBAR_ITEMS_SIZE, Gravity.LEFT)
) <~ horizontal) <~ Styles.topBar
}
}