Changeset 279 for trunk/Forms
- Timestamp:
- Feb 14, 2019, 10:52:04 PM (6 years ago)
- Location:
- trunk/Forms
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormNew.lfm
r276 r279 21 21 Top = 60 22 22 Width = 806 23 ActivePage = TabSheet Rules23 ActivePage = TabSheetPlayers 24 24 Align = alClient 25 25 BorderSpacing.Around = 4 26 TabIndex = 326 TabIndex = 1 27 27 TabOrder = 0 28 28 OnChange = PageControl1Change … … 163 163 object Panel2: TPanel 164 164 Left = 0 165 Height = 652165 Height = 596 166 166 Top = 0 167 167 Width = 796 168 168 Align = alClient 169 169 BevelOuter = bvNone 170 ClientHeight = 652171 ClientWidth = 796172 170 TabOrder = 0 173 object ListViewPlayers: TListView174 Left = 4175 Height = 602176 Top = 4177 Width = 788178 Align = alTop179 Anchors = [akTop, akLeft, akRight, akBottom]180 BorderSpacing.Around = 4181 Columns = <182 item183 Caption = 'Name'184 Width = 200185 end186 item187 Caption = 'Type'188 Width = 100189 end190 item191 Caption = 'Color'192 Width = 100193 end194 item195 Caption = 'Start units'196 Width = 790197 end>198 MultiSelect = True199 OwnerData = True200 PopupMenu = PopupMenuPlayers201 ReadOnly = True202 RowSelect = True203 TabOrder = 0204 ViewStyle = vsReport205 OnCustomDrawSubItem = ListViewPlayersCustomDrawSubItem206 OnData = ListViewPlayersData207 OnDblClick = ListViewPlayersDblClick208 OnKeyPress = ListViewPlayersKeyPress209 OnKeyUp = ListViewPlayersKeyUp210 OnSelectItem = ListViewPlayersSelectItem211 end212 object ButtonPlayerAdd: TButton213 Left = 16214 Height = 25215 Top = 614216 Width = 83217 Action = APlayerAdd218 Anchors = [akLeft, akBottom]219 TabOrder = 1220 end221 object ButtonPlayerModify: TButton222 Left = 120223 Height = 25224 Top = 614225 Width = 83226 Action = APlayerModify227 Anchors = [akLeft, akBottom]228 TabOrder = 2229 end230 object ButtonPlayerRemove: TButton231 Left = 224232 Height = 25233 Top = 614234 Width = 83235 Action = APlayerRemove236 Anchors = [akLeft, akBottom]237 TabOrder = 3238 end239 171 end 240 172 end … … 587 519 object ComboBoxWinObjective: TComboBox 588 520 Left = 224 589 Height = 38521 Height = 42 590 522 Top = 244 591 523 Width = 328 … … 765 697 object ComboBoxGameSystem: TComboBox 766 698 Left = 176 767 Height = 4 3699 Height = 42 768 700 Top = 9 769 701 Width = 254 … … 786 718 left = 864 787 719 top = 216 788 object APlayerModify: TAction789 Caption = 'Modify'790 OnExecute = APlayerModifyExecute791 end792 object APlayerAdd: TAction793 Caption = 'Add'794 OnExecute = APlayerAddExecute795 end796 object APlayerRemove: TAction797 Caption = 'Remove'798 OnExecute = APlayerRemoveExecute799 end800 720 object AServerAdd: TAction 801 721 Caption = 'Add' … … 814 734 left = 864 815 735 top = 360 816 end817 object PopupMenuPlayers: TPopupMenu818 left = 864819 top = 288820 object MenuItem1: TMenuItem821 Action = APlayerAdd822 end823 object MenuItem2: TMenuItem824 Action = APlayerModify825 Default = True826 end827 object MenuItem3: TMenuItem828 Action = APlayerRemove829 end830 736 end 831 737 object PopupMenuServers: TPopupMenu -
trunk/Forms/UFormNew.pas
r276 r279 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 9 ComCtrls, Spin, ExtCtrls, ActnList, ExtDlgs, Menus, UGame, UGeometry, UPlayer, 10 UGameServer, UServerList, UMap ;10 UGameServer, UServerList, UMap, UFormPlayers; 11 11 12 12 type … … 16 16 TFormNew = class(TForm) 17 17 ActionList1: TActionList; 18 APlayerAdd: TAction;19 APlayerModify: TAction;20 APlayerRemove: TAction;21 18 AServerAdd: TAction; 22 19 AServerModify: TAction; … … 30 27 ButtonImageBrowse: TButton; 31 28 ButtonOk: TButton; 32 ButtonPlayerAdd: TButton;33 ButtonPlayerModify: TButton;34 ButtonPlayerRemove: TButton;35 29 CheckBoxBridges: TCheckBox; 36 30 CheckBoxCity: TCheckBox; … … 62 56 Label8: TLabel; 63 57 Label9: TLabel; 64 ListViewPlayers: TListView;65 58 ListViewServers: TListView; 66 MenuItem1: TMenuItem;67 MenuItem2: TMenuItem;68 MenuItem3: TMenuItem;69 59 MenuItem4: TMenuItem; 70 60 MenuItem5: TMenuItem; … … 80 70 PanelButtons: TPanel; 81 71 PanelChat: TPanel; 82 PopupMenuPlayers: TPopupMenu;83 72 PopupMenuServers: TPopupMenu; 84 73 RadioButtonModeLocal: TRadioButton; … … 111 100 TrackBarSizeX: TTrackBar; 112 101 TrackBarSizeY: TTrackBar; 113 procedure APlayerAddExecute(Sender: TObject);114 procedure APlayerModifyExecute(Sender: TObject);115 procedure APlayerRemoveExecute(Sender: TObject);116 102 procedure AServerAddExecute(Sender: TObject); 117 103 procedure AServerModifyExecute(Sender: TObject); … … 134 120 procedure FormShow(Sender: TObject); 135 121 procedure Image1Resize(Sender: TObject); 136 procedure ListViewPlayersCustomDrawSubItem(Sender: TCustomListView;137 Item: TListItem; SubItem: Integer; State: TCustomDrawState;138 var DefaultDraw: Boolean);139 procedure ListViewPlayersData(Sender: TObject; Item: TListItem);140 procedure ListViewPlayersDblClick(Sender: TObject);141 procedure ListViewPlayersKeyPress(Sender: TObject; var Key: char);142 procedure ListViewPlayersKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState143 );144 procedure ListViewPlayersSelectItem(Sender: TObject; Item: TListItem;145 Selected: Boolean);146 122 procedure ListViewServersData(Sender: TObject; Item: TListItem); 147 123 procedure ListViewServersKeyPress(Sender: TObject; var Key: char); … … 166 142 MapPreviewRedrawPending: Boolean; 167 143 NewRandSeed: Cardinal; 144 FormPlayers: TFormPlayers; 168 145 procedure LoadGame(Game: TGame); 169 146 procedure SaveGame(Game: TGame); … … 216 193 { TFormNew } 217 194 218 procedure TFormNew.ListViewPlayersData(Sender: TObject; Item: TListItem);219 begin220 if (Item.Index >= 0) and (Item.Index < Players.Count) then221 with Players[Item.Index] do begin222 Item.Caption := Name;223 Item.Data := Players[Item.Index];224 Item.SubItems.Add(PlayerModeText[Mode]);225 Item.SubItems.Add(''); // Do not show color text226 Item.SubItems.Add(IntToStr(StartUnits));227 end;228 end;229 230 procedure TFormNew.ListViewPlayersDblClick(Sender: TObject);231 begin232 APlayerModify.Execute;233 end;234 235 procedure TFormNew.ListViewPlayersKeyPress(Sender: TObject; var Key: char);236 begin237 if (Key = #13) then APlayerModify.Execute;238 end;239 240 procedure TFormNew.ListViewPlayersKeyUp(Sender: TObject; var Key: Word;241 Shift: TShiftState);242 begin243 if Key = 45 then APlayerAdd.Execute;244 if Key = 46 then APlayerRemove.Execute;245 end;246 247 procedure TFormNew.ListViewPlayersSelectItem(Sender: TObject; Item: TListItem;248 Selected: Boolean);249 begin250 ReloadView;251 end;252 253 195 procedure TFormNew.ListViewServersData(Sender: TObject; Item: TListItem); 254 196 begin … … 339 281 procedure TFormNew.LoadGame(Game: TGame); 340 282 begin 341 Players.Assign(Game.Players);283 FormPlayers.Players.Assign(Game.Players); 342 284 with Game do begin 343 285 CheckBoxSymetricMap.Checked := SymetricMap; … … 370 312 procedure TFormNew.SaveGame(Game: TGame); 371 313 begin 372 Game.Players.Assign( Players);314 Game.Players.Assign(FormPlayers.Players); 373 315 with Game do begin 374 316 StoredRandSeed := NewRandSeed; … … 510 452 procedure TFormNew.ReloadView; 511 453 begin 512 ListViewPlayers.Items.Count := Players.Count;513 ListViewPlayers.Refresh;514 454 ListViewServers.Items.Count := ServerList.Items.Count; 515 455 ListViewServers.Refresh; … … 522 462 WinObjective: TWinObjective; 523 463 begin 524 APlayerRemove.Enabled := Assigned(ListViewPlayers.Selected) and (Players.Count > MinPlayerCount);525 APlayerAdd.Enabled := Players.Count < MaxPlayerCount;526 APlayerModify.Enabled := Assigned(ListViewPlayers.Selected);527 464 EditImageFile.Enabled := ComboBoxMapShape.ItemIndex = Integer(msImage); 528 465 ButtonImageBrowse.Enabled := ComboBoxMapShape.ItemIndex = Integer(msImage); … … 566 503 end; 567 504 568 procedure TFormNew.ListViewPlayersCustomDrawSubItem(Sender: TCustomListView;569 Item: TListItem; SubItem: Integer; State: TCustomDrawState;570 var DefaultDraw: Boolean);571 begin572 if SubItem = 2 then573 with ListViewPlayers.Canvas do begin574 Brush.Color := TPlayer(Item.Data).Color;575 Brush.Style := bsSolid;576 FillRect(Item.DisplayRectSubItem(2, drBounds));577 end;578 end;579 580 505 procedure TFormNew.FormCreate(Sender: TObject); 581 506 begin 582 507 GamePreview := TGame.Create; 583 Players := TPlayers.Create;584 508 ServerList := TServerList.Create; 585 509 FormChat := TFormChat.Create(nil); … … 587 511 FormChat.Align := alClient; 588 512 FormChat.Show; 513 Players := TPlayers.Create; 514 FormPlayers := TFormPlayers.Create(nil); 515 FormPlayers.MinItemCount := MinPlayerCount; 516 FormPlayers.MaxItemCount := MaxPlayerCount; 517 FormPlayers.Players := Players; 518 FormPlayers.ManualDock(Panel2, nil, alClient); 519 FormPlayers.Align := alClient; 520 FormPlayers.Visible := True; 589 521 Translate; 590 522 end; … … 636 568 begin 637 569 Core.PersistentForm.Save(Self); 638 end;639 640 procedure TFormNew.APlayerModifyExecute(Sender: TObject);641 begin642 FormPlayer := TFormPlayer.Create(nil);643 try644 if Assigned(ListViewPlayers.Selected) then begin645 FormPlayer.Load(TPlayer(ListViewPlayers.Selected.Data));646 if FormPlayer.ShowModal = mrOk then begin647 FormPlayer.Save(TPlayer(ListViewPlayers.Selected.Data));648 ReloadView;649 end;650 end;651 finally652 FormPlayer.Free;653 end;654 end;655 656 procedure TFormNew.APlayerRemoveExecute(Sender: TObject);657 var658 I: Integer;659 begin660 for I := ListViewPlayers.Items.Count - 1 downto 0 do661 if ListViewPlayers.Items[I].Selected then begin662 Players.Remove(ListViewPlayers.Items[I].Data);663 if Players.Count <= MinPlayerCount then Break;664 end;665 ReloadView;666 570 end; 667 571 … … 740 644 end; 741 645 742 procedure TFormNew.APlayerAddExecute(Sender: TObject);743 var744 NewPlayer: TPlayer;745 begin746 if Players.Count <= (MaxPlayerCount - 1) then begin747 NewPlayer := TPlayer.Create;748 NewPlayer.Id := Players.GetNewId;749 NewPlayer.Name := SPlayer + ' ' + IntToStr(NewPlayer.Id);750 NewPlayer.Color := PlayerColors[Players.Count];751 NewPlayer.Mode := pmComputer;752 NewPlayer.Agressivity := caMedium;753 Players.Add(NewPlayer);754 ReloadView;755 end;756 end;757 758 646 procedure TFormNew.FormDestroy(Sender: TObject); 759 647 begin 760 648 FreeAndNil(ServerList); 649 FreeAndNil(FormChat); 761 650 FreeAndNil(Players); 762 FreeAndNil(Form Chat);651 FreeAndNil(FormPlayers); 763 652 FreeAndNil(GamePreview); 764 653 end; -
trunk/Forms/UFormPlayer.lfm
r188 r279 9 9 Constraints.MinHeight = 344 10 10 Constraints.MinWidth = 522 11 DesignTimePPI = 144 11 12 OnClose = FormClose 12 13 OnCreate = FormCreate 13 14 OnShow = FormShow 14 15 Position = poMainFormCenter 15 LCLVersion = '1.8. 0.4'16 LCLVersion = '1.8.4.0' 16 17 object Label1: TLabel 17 18 Left = 24 … … 24 25 object EditName: TEdit 25 26 Left = 168 26 Height = 3627 Height = 43 27 28 Top = 27 28 29 Width = 339 … … 53 54 object ComboBoxMode: TComboBox 54 55 Left = 168 55 Height = 3 656 Height = 38 56 57 Top = 72 57 58 Width = 339 … … 86 87 object ColorBox1: TColorBox 87 88 Left = 168 88 Height = 4 089 Height = 42 89 90 Top = 120 90 91 Width = 339 … … 104 105 object ComboBoxAgressivity: TComboBox 105 106 Left = 168 106 Height = 4 0107 Height = 42 107 108 Top = 168 108 109 Width = 339 … … 122 123 Height = 30 123 124 Top = 208 124 Width = 10 7125 Width = 109 125 126 Caption = 'Defensive' 126 127 TabOrder = 6 … … 136 137 object SpinEditStartUnits: TSpinEdit 137 138 Left = 224 138 Height = 36139 Height = 43 139 140 Top = 240 140 141 Width = 112 -
trunk/Forms/UFormPlayer.pas
r243 r279 36 36 procedure Translate; 37 37 procedure UpdateInterface; 38 procedure Load (Player: TPlayer);39 procedure Save (Player: TPlayer);38 procedure LoadData(Player: TPlayer); 39 procedure SaveData(Player: TPlayer); 40 40 end; 41 41 … … 110 110 end; 111 111 112 procedure TFormPlayer.Load (Player: TPlayer);112 procedure TFormPlayer.LoadData(Player: TPlayer); 113 113 begin 114 114 EditName.Text := Player.Name; … … 121 121 end; 122 122 123 procedure TFormPlayer.Save (Player: TPlayer);123 procedure TFormPlayer.SaveData(Player: TPlayer); 124 124 begin 125 125 Player.Name := EditName.Text;
Note:
See TracChangeset
for help on using the changeset viewer.