You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
beta_channel_for_steam/landscape/virgis_landscape.kv

320 lines
11 KiB

#:kivy 2.0.0
#: set highlight_color (0.388,0.694,0.737, 1)
#: set main_color (0.88235, 0.88627, 0.88235, 1)
#: set highlight_light (0.30588,0.67451, 0.74510, 1)
#: set bar_color (0.259,0.435,0.569 ,1 )
#: set bar_light (0.447,0.616,0.757, 1)
#: set dark_text (0,0,0,1)
#: set light_text (1,1,1,1)
#:import FirebaseLoginScreen firebaseloginscreen.firebaseloginscreen.FirebaseLoginScreen
GridLayout:
id: main
cols:1
rows:2
MDToolbar:
title: 'LandScape'
left_action_items: [["assets/virgis.png",lambda x: app.do_nothing()]]
right_action_items:[['folder-open', lambda x: app.show_load(), "Open File" ], ['newspaper-plus', lambda x: app.new_file(), "New Project" ], ['dots-vertical', lambda x: app.show_menu(x), "More Options"]]
ScreenManager:
id: screen_manager
FirebaseLoginScreen:
id: firebase_login_screen
name: "firebase_login_screen"
debug: True
remember_user: True
require_email_verification: True
web_api_key: "AIzaSyC588Nc4mif8n9qds3gMld5tLxrIvBB3Q4"
background: "background.jpg"
on_login_success:
if self.login_state == 'out': app.logout()
if self.login_state == 'in': app.local_id = self.localId
if self.login_state == 'in': app.user_idToken = self.idToken
if self.login_state == 'in': app.login()
failed_account_load: app.failed
Screen:
id: mainScreen
name: "mainScreen"
MainPane:
id: mainPane
Screen:
id: unauthScreen
name: "unauthScreen"
FloatLayout:
RoundedCard:
pos_hint: {"center_y": .5, "center_x": .5}
orientation: "vertical"
size_hint: 0.5, 0.5
md_bg_color: self.theme_cls.primary_color
padding: "10sp"
RoundedCard:
orientation: "vertical"
size_hint_y: 3
padding: "20sp"
Details:
text:"No Valid License"
Widget:
<MainPane>:
cols:1
rows:3
GridLayout:
rows: 1
size_hint_max_y: "50sp"
background_color: (0,0,0,0)
Heading1:
text: "Project File : "
halign: "right"
background_color: app.info
color: app.info_text
Heading1:
text: app.project.filename
halign: "left"
background_color: app.info
color: app.info_text
MDBoxLayout:
orientation: "horizontal"
padding: "5sp"
size_hint_max_y: "120sp"
RoundedCard:
orientation: "horizontal"
MDBoxLayout:
orientation: "vertical"
Widget:
size_hint_y: 0.5
DetailBox:
id: project_name
text: root.projectName
on_text: root.projectName = self.text
disabled: root.noData
hint_text: "Project Name"
required: True
helper_text_mode: "on_error"
helper_text: "You must give the project a valid name"
pos_hint: {"center-x": 0.5}
Widget:
size_hint_y: 0.5
MDBoxLayout:
orientation: "horizontal"
BoxLayout:
orientation: "vertical"
DetailFloat:
id: lat
text: root.lat
on_text: root.lat = self.text
disabled: root.noData
hint_text: "Latitude"
tooltip_text: "Geographic center of the\nModel : EPSG:4326 coords"
required: True
helper_text_mode: "on_error"
helper_text: "You must give the project a valid origin"
DetailFloat:
id: lon
text: root.lon
on_text: root.lon = self.text
disabled: root.noData
hint_text: "Longitude"
tooltip_text: "Geographic center of the\nModel : EPSG:4326 coords"
required: True
helper_text_mode: "on_error"
helper_text: "You must give the project a valid origin"
BoxLayout:
orientation: "vertical"
size_hint_x: 0.2
Widget:
MyRaisedIconButton:
icon: "map"
tooltip_text: "Show the location on a map"
on_release: root.map()
Widget:
MDBoxLayout:
orientation:"vertical"
DetailFloat:
id: gridscale
text: root.gridScale
hint_text: "gridScale"
on_text: root.gridScale = self.text
required: True
disabled: root.noData
tooltip_text: "Size of grid to be used by\n \"Snap to Grid\" : metres"
helper_text_mode: "on_error"
helper_text: "You must give the project a valid grid scale"
DetailBox:
id: default_proj
text: root.default_proj
hint_text: "Project CRS"
on_text: root.default_proj = self.text
helper_text: "Default EPSG:4326"
tooltip_text: "Default CRS or Projection for the project"
helper_text_mode: "on_focus"
GridLayout:
cols:2
rows:1
LayerListPane:
id: layerList
LayerDetailPane:
id: layerDetail
FAB:
icon: app.fab
on_release: app.fab_action()
pos: [self.parent.size[0] - 1.5 * self.size[0], 0.5 * self.size[1]]
tooltip_text: app.tooltip_text
<LayerListPane>:
cols: 1
size_hint_x: 0.5
Heading1:
size_hint_max_y: "25sp"
text: "Layers"
BoxLayout
orientation: "horizontal"
size_hint_max_y: "25sp"
spacing:"3sp"
padding: ("5sp","3sp")
OldButton:
text: 'Add Layer'
on_release: root.add_layer()
tooltip_text: "Add new Data Layer"
OldButton:
text: 'Add Map'
on_release: root.add_map()
tooltip_text: "Add a Map Layer"
OldButton:
text: 'Delete Layer'
on_release: root.delete_layer()
tooltip_text: "Delete Layer"
RecycleView:
id: layerRv
viewclass: 'InvertSelectableLabel'
data: root.layers
SelectableRecycleBoxLayout:
id: layerRecycle
default_size: None, dp(56)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
padding: ("5sp","2sp")
<AddLayerPane>:
size: root.size
pos: root.pos
BoxLayout:
padding:"10sp"
spacing: "10sp"
orientation: "vertical"
Heading1:
text: "Create a New Layer"
GridLayout:
cols:1
GridLayout:
cols:1
padding: "20sp"
siz_hint_y: 0.5
Heading1:
text: "1 : Chose a type of location for the source data"
Spinner:
id: sourceType
size_hint_max_y: "30sp"
values: root.sourceTypes
text: root.sourceType
on_text: root.sourceType = self.text
GridLayout:
cols:2
size_hint_y: 1
padding: "20sp"
GridLayout:
cols:1
Heading1:
text: "2 : Chose or type in a source location (i.e. File or URI)"
GridLayout:
rows:1
DetailBox:
id: create_source
text: root.source
on_text: root.source = self.text
left_icon: "folder-open"
left_icon_action: root.get_source
left_tooltip: "Search for source file"
right_icon: "file-document"
right_tooltip: "Validate and get details of\nthe layer source data"
right_icon_action: root.info
right_disabled: False if self.text else True
GridLayout:
cols:1
padding: "10sp"
size_hint_y: 2
GridLayout:
rows:1
Details:
text:"Source Processor"
tooltip_text: "This is the processing type for the data source"
Details:
text: root.dal
GridLayout:
rows:1
Details:
text:"Source Driver"
tooltip_text: "This is the driver type for the data source"
Details:
text: root.driver
GridLayout:
rows:1
Details:
text:"CRS"
tooltip_text: "This is the CRS reference found in the data source"
Details:
text: root.proj
GridLayout:
cols:1
padding: "20sp"
select: root.select
size_hint_y: 2
Heading1:
text: "3 : Chose one of the Layer Types shown below"
RecycleView:
id: layerTypeRv
viewclass: 'SelectableLabel'
data: root.selectedTypes
SelectableRecycleBoxLayout:
id: layerTyperRecycle
default_size: None, dp(56)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
padding: "5sp"
<LayerDetailPane>:
orientation: "vertical"
<ProfileDetailPane>:
FloatLayout:
RoundedCard:
pos_hint: {"center_y": .5, "center_x": .5}
orientation: "vertical"
size_hint: 0.5, 0.5
md_bg_color: self.theme_cls.primary_color
padding: "10sp"
RoundedCard:
orientation: "horizontal"
padding: "10sp"
Details:
text: "Light/Dark Theme"
MySwitch:
id: theme_select
on_active: app.set_theme(self.active)
active: True if self.theme_cls.theme_style == "Dark" else False
Widget:
size_hint_y: 3