Skip to content
This repository has been archived by the owner on Jul 13, 2020. It is now read-only.

Commit

Permalink
Generate layout for CardView
Browse files Browse the repository at this point in the history
 Fixes #357
  • Loading branch information
4u7 committed Nov 10, 2017
1 parent 9590f48 commit 7c64c4b
Show file tree
Hide file tree
Showing 3 changed files with 143 additions and 15 deletions.
127 changes: 126 additions & 1 deletion anko/library/generated/cardview-v7/src/Layouts.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,130 @@
package org.jetbrains.anko.cardview.v7


private val defaultInit: Any.() -> Unit = {}
import android.content.Context
import android.util.AttributeSet
import android.view.ViewGroup
import android.widget.FrameLayout
import android.support.v7.widget.CardView
import android.view.View

open class _CardView(ctx: Context): CardView(ctx) {

inline fun <T: View> T.lparams(
c: Context?,
attrs: AttributeSet?,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(c!!, attrs!!)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
c: Context?,
attrs: AttributeSet?
): T {
val layoutParams = FrameLayout.LayoutParams(c!!, attrs!!)
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(width, height)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT
): T {
val layoutParams = FrameLayout.LayoutParams(width, height)
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
gravity: Int,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(width, height, gravity)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
gravity: Int
): T {
val layoutParams = FrameLayout.LayoutParams(width, height, gravity)
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: ViewGroup.LayoutParams?,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: ViewGroup.LayoutParams?
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: ViewGroup.MarginLayoutParams?,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: ViewGroup.MarginLayoutParams?
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: FrameLayout.LayoutParams?,
init: FrameLayout.LayoutParams.() -> Unit
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
layoutParams.init()
this@lparams.layoutParams = layoutParams
return this
}

inline fun <T: View> T.lparams(
source: FrameLayout.LayoutParams?
): T {
val layoutParams = FrameLayout.LayoutParams(source!!)
this@lparams.layoutParams = layoutParams
return this
}

}

28 changes: 14 additions & 14 deletions anko/library/generated/cardview-v7/src/Views.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,37 @@ import android.os.Build
import android.widget.*

@PublishedApi
internal object `$$Anko$Factories$CardviewV7View` {
val CARD_VIEW = { ctx: Context -> android.support.v7.widget.CardView(ctx) }
internal object `$$Anko$Factories$CardviewV7ViewGroup` {
val CARD_VIEW = { ctx: Context -> _CardView(ctx) }
}

inline fun ViewManager.cardView(): android.support.v7.widget.CardView = cardView() {}
inline fun ViewManager.cardView(init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme = 0) { init() }
inline fun ViewManager.cardView(init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme = 0) { init() }
}

inline fun ViewManager.themedCardView(theme: Int = 0): android.support.v7.widget.CardView = themedCardView(theme) {}
inline fun ViewManager.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme) { init() }
inline fun ViewManager.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme) { init() }
}

inline fun Context.cardView(): android.support.v7.widget.CardView = cardView() {}
inline fun Context.cardView(init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme = 0) { init() }
inline fun Context.cardView(init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme = 0) { init() }
}

inline fun Context.themedCardView(theme: Int = 0): android.support.v7.widget.CardView = themedCardView(theme) {}
inline fun Context.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme) { init() }
inline fun Context.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme) { init() }
}

inline fun Activity.cardView(): android.support.v7.widget.CardView = cardView() {}
inline fun Activity.cardView(init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme = 0) { init() }
inline fun Activity.cardView(init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme = 0) { init() }
}

inline fun Activity.themedCardView(theme: Int = 0): android.support.v7.widget.CardView = themedCardView(theme) {}
inline fun Activity.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker android.support.v7.widget.CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7View`.CARD_VIEW, theme) { init() }
inline fun Activity.themedCardView(theme: Int = 0, init: (@AnkoViewDslMarker _CardView).() -> Unit): android.support.v7.widget.CardView {
return ankoView(`$$Anko$Factories$CardviewV7ViewGroup`.CARD_VIEW, theme) { init() }
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
<item name='android.support.v7.widget.AppCompatSpinner'>
<annotation name='org.jetbrains.anko.GenerateView'/>
</item>
<item name='android.support.v7.widget.CardView'>
<annotation name='org.jetbrains.anko.GenerateLayout'/>
</item>
</root>

0 comments on commit 7c64c4b

Please sign in to comment.