BUTR/Bannerlord.BLSE

View on GitHub
src/Bannerlord.LauncherEx/Resources/Prefabs/Launcher.Mods.ModuleTuple.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<Prefab>
  <Constants>
    <Constant Name="Entry.Height" Value="26" />

    <Constant Name="ModToggle.Width" BrushName="Launcher.Mods.ModToggle" BrushLayer="Default" BrushValueType="Width" />
    <Constant Name="ModToggle.Height" BrushName="Launcher.Mods.ModToggle" BrushLayer="Default" BrushValueType="Height" />

    <Constant Name="ModSorter.Width" BrushName="Launcher.Mods.ModSorter" BrushLayer="Default" BrushValueType="Width"/>
    <Constant Name="ModSorter.Height" BrushName="Launcher.Mods.ModSorter" BrushLayer="Default" BrushValueType="Height"/>

    <Constant Name="VersionText.Width" Value="150" />

    <Constant Name="ModuleType.Width" Value="27" />

    <Constant Name="Icon.Size" Value="20" />

    <Constant Name="Margin.Left" Value="5" />
  </Constants>
  <Window>
    <ListPanel LayoutImp.LayoutMethod="VerticalBottomToTop" WidthSizePolicy="StretchToParent" HeightSizePolicy="CoverChildren">
      <Children>

        <ListPanel Id="EntryPanel" WidthSizePolicy="StretchToParent" HeightSizePolicy="Fixed" SuggestedHeight="!Entry.Height" MarginBottom="5" AcceptDrag="true" DragWidget="DragWidget" IsVisible="@IsVisible">
          <Children>
            
            <!-- Toggle -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="!ModToggle.Width"  SuggestedHeight="!ModToggle.Height" VerticalAlignment="Center" >
              <Children>
                <Launcher.ToggleButton WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.Click="ExecuteSelect" IsSelected="@IsSelected" ManualToggle="true" IsDisabled="@IsNotSelectable" />
              </Children>
            </Widget>
            <!-- Drag Drop -->
            <ButtonWidget WidthSizePolicy="Fixed"     HeightSizePolicy="Fixed"           SuggestedWidth="!ModSorter.Width"  SuggestedHeight="!ModSorter.Height" VerticalAlignment="Center" MarginLeft="10" Brush="Launcher.Mods.ModSorter" IsDisabled="true"/>
            <!-- Module Type Icon -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="!ModToggle.Width"  SuggestedHeight="!ModToggle.Height" VerticalAlignment="Center" MarginLeft="!Margin.Left">
              <Children>
                <BrushWidget WidthSizePolicy="Fixed" HeightSizePolicy="Fixed" SuggestedWidth="25" SuggestedHeight="18" VerticalAlignment="Center" Brush="Launcher.Official" IsVisible="@IsOfficial">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{DependencyHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
                <BrushWidget WidthSizePolicy="Fixed" HeightSizePolicy="Fixed" SuggestedWidth="25" SuggestedHeight="18" VerticalAlignment="Center" Brush="Launcher.Community" IsHidden="@IsOfficial">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{DependencyHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
              </Children>
            </Widget>
            <!-- Dangerous -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="!ModToggle.Width"  SuggestedHeight="!ModToggle.Height" VerticalAlignment="Center" MarginLeft="!Margin.Left">
              <Children>
                <BrushWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Error" IsVisible="@IsDangerous">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{DangerousHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
              </Children>
            </Widget>
            <!-- Mod Name -->
            <Widget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent"                                                                        VerticalAlignment="Center" MarginLeft="!Margin.Left">
              <Children>
                <TextWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Text="@Name" Brush="Launcher.Mods.ModNameText" Brush.TextHorizontalAlignment="Left" Brush.FontSize="26" IsDisabled="true" />
              </Children>
            </Widget>
            <!-- Mod Version -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="StretchToParent" SuggestedWidth="!VersionText.Width"  >
              <Children>
                <TextWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Text="@VersionText" Brush="Launcher.Mods.ModNameText" Brush.FontSize="26" IsDisabled="true" />
              </Children>
            </Widget>
            <!-- Issue Expand Indicator -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="30"                SuggestedHeight="30"                VerticalAlignment="Center" MarginLeft="!Margin.Left" >
              <Children>
                <ButtonWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" ButtonType="Toggle" Brush="Launcher.Mods.ExpandIndicator" IsSelected="@IsExpanded" IsHidden="@IsValid" />
              </Children>
            </Widget>
            <!-- Update Info -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="!ModToggle.Width"  SuggestedHeight="!ModToggle.Height" VerticalAlignment="Center" MarginLeft="!Margin.Left" >
              <Children>
                <BrushWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Info" IsVisible="@IsUpdateHintHigh">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{UpdateHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
                <BrushWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Warning" IsVisible="@IsUpdateHintMedium">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{UpdateHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
                <BrushWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Error" IsVisible="@IsUpdateHintLow">
                  <Children>
                    <LauncherHintTriggerWidget DataSource="{UpdateHint}" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Command.HoverBegin="ExecuteBeginHint" Command.HoverEnd="ExecuteEndHint" IsDisabled="true" />
                  </Children>
                </BrushWidget>
              </Children>
            </Widget>
            <!-- Folder Icon -->
            <Widget WidthSizePolicy="Fixed"           HeightSizePolicy="Fixed"           SuggestedWidth="!ModToggle.Width"  SuggestedHeight="!ModToggle.Height" VerticalAlignment="Center" MarginLeft="!Margin.Left" MarginRight="20" >
              <Children>
                <ButtonWidget WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Folder" Command.Click="ExecuteOpen"/>
              </Children>
            </Widget>
           
            <!-- Drag Widget -->
            <Widget Id="DragWidget" DoNotAcceptEvents="true" DoNotPassEventsToChildren="true" WidthSizePolicy="Fixed" HeightSizePolicy="Fixed" SuggestedWidth="200" SuggestedHeight="50" HorizontalAlignment="Center" VerticalAlignment="Center" IsDisabled="true" IsVisible="false">
              <Children>
                <TextWidget Text="@Name" WidthSizePolicy="StretchToParent" HeightSizePolicy="StretchToParent" Brush="Launcher.Mods.ModNameText" Brush.TextHorizontalAlignment="Left" />
              </Children>
            </Widget>
            
          </Children>
        </ListPanel>

        <Widget WidthSizePolicy="StretchToParent" HeightSizePolicy="CoverChildren" MarginLeft="30" IsDisabled="true" IsVisible="@IsExpanded">
          <Children>
            <TextWidget Text="@IssuesText" WidthSizePolicy="StretchToParent" HeightSizePolicy="CoverChildren" SuggestedHeight="500" MarginBottom="10" Brush="Launcher.Mods.IssueText" Brush.TextHorizontalAlignment="Left" />
          </Children>
        </Widget>

      </Children>
    </ListPanel>
  </Window>
</Prefab>