From: Olaf Wintermann Date: Thu, 24 Jul 2025 20:30:58 +0000 (+0200) Subject: add first model classes X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=4c7a5fda20859700e52e9b41fe24671f14d0d7bd;p=rssreader.git add first model classes --- diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt index 744fc91..8d4ec88 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/App.kt @@ -6,6 +6,10 @@ import de.unixwork.ui.Toolkit class App : Application { override fun startup() { val window = MainWindow() + + val data = FeedSourceList() + window.window.ui.attach(data) + window.show() } diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt new file mode 100644 index 0000000..a098c69 --- /dev/null +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/Feed.kt @@ -0,0 +1,6 @@ +package de.unixwork.rssreader + + +class Feed(uri: String) { + val uri = uri +} diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedCollection.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedCollection.kt new file mode 100644 index 0000000..1df2afc --- /dev/null +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedCollection.kt @@ -0,0 +1,8 @@ +package de.unixwork.rssreader + +import de.unixwork.ui.Document + +class FeedCollection(name: String) : Document() { + private val name = name + private val items = list("items") +} \ No newline at end of file diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt new file mode 100644 index 0000000..e7f1d82 --- /dev/null +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/FeedSourceList.kt @@ -0,0 +1,18 @@ +package de.unixwork.rssreader + +import de.unixwork.ui.Document +import de.unixwork.ui.SubList + +class FeedSourceList : Document() { + val feeds = this.sourcelist("feeds") + + init { + // testcode + val sublist1 = SubList() + sublist1.header = "Test 1" + val sublist1data = list("sublist1data") + val col1 = FeedCollection("Test Feed") + sublist1data.add(col1) + feeds.add(sublist1) + } +} \ No newline at end of file diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/Item.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/Item.kt new file mode 100644 index 0000000..5eedce4 --- /dev/null +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/Item.kt @@ -0,0 +1,6 @@ +package de.unixwork.rssreader + +class Item { + val title: String? = null + val link: String? = null +} \ No newline at end of file diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt index e1881ff..d05c86c 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -2,6 +2,7 @@ package de.unixwork.rssreader import de.unixwork.ui.SubListItem import de.unixwork.ui.UiObject +import de.unixwork.ui.UiSourceList import de.unixwork.ui.kotlin.Toplevel import de.unixwork.ui.kotlin.sidebarWindow @@ -10,16 +11,17 @@ class MainWindow { init { window = sidebarWindow("RSS Reader") { - sidebar { vbox(fill = true) { - sourcelist(fill = true) { elm: Object -> + sourcelist(fill = true, varname = "feeds") { elm: Object -> val item = SubListItem() item.label = "todo" item } hbox(margin = 4) { - button(icon = "list-add") + button(icon = "list-add") { + + } } } } @@ -39,6 +41,8 @@ class MainWindow { } } + + fun show() { window.show() }