MainWindow.axaml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <glitonea:WindowEx x:Class="Neptune.View.Windows.MainWindow"
  2. xmlns="https://github.com/avaloniaui"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:glitonea="clr-namespace:Glitonea;assembly=Glitonea"
  5. xmlns:mvvm="clr-namespace:Glitonea.Mvvm;assembly=Glitonea"
  6. xmlns:vm="clr-namespace:Neptune.ViewModel.Windows"
  7. xmlns:controls="clr-namespace:Neptune.View.Controls"
  8. xmlns:view="clr-namespace:Neptune.View.Windows"
  9. Name="WindowRoot"
  10. Title="Neptune"
  11. DataContext="{mvvm:DataContextSource vm:MainWindowViewModel}">
  12. <Grid RowDefinitions="Auto,*">
  13. <Menu Grid.Row="0"
  14. Margin="0,4,0,0"
  15. Height="26"
  16. BorderBrush="{StaticResource NeptuneDarkBorderBrush}"
  17. BorderThickness="0,0,0,1">
  18. <MenuItem Header="_File">
  19. <MenuItem Header="_Open source tree"
  20. Command="{Binding BrowseForProjectDirectory}"
  21. Icon="{StaticResource NeptuneIconOpenFolder_16}"
  22. InputGesture="Ctrl+O"
  23. HotKey="Ctrl+O" />
  24. <MenuItem Name="RecentsMenuItem"
  25. Header="Open _recent"
  26. Items="{Binding RecentProjects}"
  27. Command="{Binding LoadProject}"
  28. CommandParameter="{Binding #RecentsMenuItem.Selection.SelectedItem}"
  29. IsEnabled="{Binding !!RecentProjects.Count}"
  30. Icon="{StaticResource NeptuneIconHistory_16}"
  31. InputGesture="Ctrl+R"
  32. HotKey="Ctrl+R" />
  33. <MenuItem Header="_Save"
  34. Command="{Binding SaveCurrentProject}"
  35. IsEnabled="{Binding IsProjectLoaded}"
  36. Icon="{StaticResource NeptuneIconSave_16}"
  37. InputGesture="Ctrl+S"
  38. HotKey="Ctrl+S" />
  39. <MenuItem Header="_Close project"
  40. Command="{Binding CloseCurrentProject}"
  41. IsEnabled="{Binding IsProjectLoaded}"
  42. InputGesture="Ctrl+Alt+C"
  43. HotKey="Ctrl+Alt+C" />
  44. <Separator />
  45. <MenuItem Header="_Quit"
  46. Command="{Binding ExitApplication}"
  47. Icon="{StaticResource NeptuneIconExit_16}"
  48. InputGesture="Ctrl+Q"
  49. HotKey="Ctrl+Q" />
  50. </MenuItem>
  51. <MenuItem Header="Edit" />
  52. <MenuItem Header="View" />
  53. <MenuItem Header="Help">
  54. <MenuItem Header="Documentation" />
  55. <MenuItem Header="Report a bug" />
  56. <Separator />
  57. <MenuItem Header="About this program" />
  58. </MenuItem>
  59. </Menu>
  60. <Grid Grid.Row="1">
  61. <Grid.ColumnDefinitions>
  62. <ColumnDefinition Width="{Binding GridSplitterPosition, Mode=TwoWay}"
  63. MinWidth="35" />
  64. <ColumnDefinition Width="3" />
  65. <ColumnDefinition Width="*" />
  66. </Grid.ColumnDefinitions>
  67. <Grid Grid.Column="0"
  68. HorizontalAlignment="Stretch"
  69. IsVisible="{Binding IsProjectLoaded}">
  70. <controls:ProjectExplorer />
  71. </Grid>
  72. <GridSplitter Grid.Column="1"
  73. Name="MainViewSplitter"
  74. BorderBrush="{StaticResource NeptuneBackgroundBrush}"
  75. BorderThickness="0,0,2,0"
  76. Background="{StaticResource NeptuneDarkBorderBrush}"
  77. IsVisible="{Binding IsProjectLoaded}" />
  78. <Grid Grid.Column="2"
  79. Name="EditorRoot"
  80. Background="{StaticResource NeptuneBackgroundBrush}">
  81. <Interaction.Behaviors>
  82. <DataTriggerBehavior Binding="{Binding IsProjectLoaded}"
  83. ComparisonCondition="Equal"
  84. Value="True">
  85. <ChangePropertyAction TargetObject="EditorRoot"
  86. PropertyName="Background"
  87. Value="{StaticResource NeptuneDarkBackgroundBrush}" />
  88. <ChangePropertyAction TargetObject="MainViewSplitter"
  89. PropertyName="BorderBrush"
  90. Value="{StaticResource NeptuneDarkBackgroundBrush}" />
  91. </DataTriggerBehavior>
  92. <DataTriggerBehavior Binding="{Binding IsProjectLoaded}"
  93. ComparisonCondition="Equal"
  94. Value="False">
  95. <ChangePropertyAction TargetObject="EditorRoot"
  96. PropertyName="Background"
  97. Value="{StaticResource NeptuneBackgroundBrush}" />
  98. <ChangePropertyAction TargetObject="MainViewSplitter"
  99. PropertyName="BorderBrush"
  100. Value="{StaticResource NeptuneBackgroundBrush}" />
  101. </DataTriggerBehavior>
  102. </Interaction.Behaviors>
  103. <controls:EditorHost IsVisible="{Binding !!SelectedConfigMember}" />
  104. </Grid>
  105. <Grid VerticalAlignment="Center"
  106. HorizontalAlignment="Center"
  107. IsVisible="{Binding !IsProjectLoaded}"
  108. ZIndex="999"
  109. Grid.ColumnSpan="3"
  110. Grid.ColumnDefinitions="Auto,Auto,Auto"
  111. Grid.RowDefinitions="Auto,Auto">
  112. <TextBlock Text="No project open!"
  113. Grid.Row="0"
  114. Grid.ColumnSpan="3"
  115. FontSize="18"
  116. FontWeight="SemiLight"
  117. HorizontalAlignment="Center"
  118. Opacity="0.4" />
  119. <TextBlock Grid.Row="1"
  120. Grid.Column="0"
  121. Text="Use "
  122. FontSize="18"
  123. FontWeight="SemiLight"
  124. HorizontalAlignment="Center"
  125. Opacity="0.4" />
  126. <TextBlock Grid.Row="1"
  127. Grid.Column="1"
  128. Text="File > Open source tree (Ctrl+O)"
  129. FontSize="18"
  130. FontWeight="SemiLight"
  131. HorizontalAlignment="Center"
  132. Opacity="0.8" />
  133. <TextBlock Grid.Row="1"
  134. Grid.Column="2"
  135. Text=" and browse for 2009scape server directory."
  136. FontSize="18"
  137. FontWeight="SemiLight"
  138. HorizontalAlignment="Center"
  139. Opacity="0.4" />
  140. </Grid>
  141. </Grid>
  142. </Grid>
  143. </glitonea:WindowEx>