Changeset 179 for trunk/Forms/UFormNew.pas
- Timestamp:
- Feb 6, 2018, 3:47:23 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormNew.pas
r170 r179 18 18 APlayerModify: TAction; 19 19 ActionList1: TActionList; 20 ButtonCancel: TButton; 20 21 ButtonImageBrowse: TButton; 21 ButtonCancel: TButton;22 22 ButtonOk: TButton; 23 23 ButtonPlayerAdd: TButton; … … 32 32 ComboBoxMapShape: TComboBox; 33 33 ComboBoxWinObjective: TComboBox; 34 EditServerAddress: TEdit; 34 35 EditImageFile: TEdit; 35 36 Label1: TLabel; 37 Label11: TLabel; 38 Label12: TLabel; 36 39 Label2: TLabel; 37 40 Label3: TLabel; … … 42 45 Label8: TLabel; 43 46 Label9: TLabel; 44 ListView1: TListView; 47 ListViewPlayers: TListView; 48 ListViewServers: TListView; 45 49 MenuItem1: TMenuItem; 46 50 MenuItem2: TMenuItem; … … 48 52 OpenPictureDialog1: TOpenPictureDialog; 49 53 PageControl1: TPageControl; 54 PanelButtons: TPanel; 55 PanelChat: TPanel; 50 56 PopupMenu1: TPopupMenu; 57 RadioButtonModeNetworkServer: TRadioButton; 58 RadioButtonModeNetworkClient: TRadioButton; 59 RadioButtonModeLocal: TRadioButton; 51 60 RadioGroupGrowAmount: TRadioGroup; 52 61 RadioGroupGrowCells: TRadioGroup; 62 SpinEditServerPort: TSpinEdit; 53 63 SpinEditCityPercent: TSpinEdit; 54 64 SpinEditMapSizeX: TSpinEdit; … … 56 66 SpinEditNeutralUnits: TSpinEdit; 57 67 SpinEditVoidPercent: TSpinEdit; 68 Splitter1: TSplitter; 58 69 TabSheet1: TTabSheet; 59 70 TabSheet2: TTabSheet; 60 71 TabSheet3: TTabSheet; 72 TabSheetMode: TTabSheet; 61 73 TrackBarSizeX: TTrackBar; 62 74 TrackBarSizeY: TTrackBar; … … 68 80 procedure CheckBoxVoidChange(Sender: TObject); 69 81 procedure ComboBoxMapShapeChange(Sender: TObject); 82 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 70 83 procedure FormCreate(Sender: TObject); 71 84 procedure FormDestroy(Sender: TObject); 72 85 procedure FormShow(Sender: TObject); 73 procedure ListView 1CustomDrawSubItem(Sender: TCustomListView;86 procedure ListViewPlayersCustomDrawSubItem(Sender: TCustomListView; 74 87 Item: TListItem; SubItem: Integer; State: TCustomDrawState; 75 88 var DefaultDraw: Boolean); 76 procedure ListView 1Data(Sender: TObject; Item: TListItem);77 procedure ListView 1DblClick(Sender: TObject);78 procedure ListView 1KeyPress(Sender: TObject; var Key: char);79 procedure ListView 1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState89 procedure ListViewPlayersData(Sender: TObject; Item: TListItem); 90 procedure ListViewPlayersDblClick(Sender: TObject); 91 procedure ListViewPlayersKeyPress(Sender: TObject; var Key: char); 92 procedure ListViewPlayersKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState 80 93 ); 81 procedure ListView 1SelectItem(Sender: TObject; Item: TListItem;94 procedure ListViewPlayersSelectItem(Sender: TObject; Item: TListItem; 82 95 Selected: Boolean); 96 procedure RadioButtonModeLocalChange(Sender: TObject); 83 97 procedure SpinEditMapSizeXChange(Sender: TObject); 84 98 procedure SpinEditMapSizeYChange(Sender: TObject); … … 91 105 procedure ReloadView; 92 106 procedure UpdateInterface; 93 procedure Load( Game: TGame);94 procedure Save( Game: TGame);107 procedure Load(Server: TServer); 108 procedure Save(Server: TServer); 95 109 end; 96 110 … … 103 117 104 118 uses 105 UFormPlayer ;119 UFormPlayer, UFormChat, UCore; 106 120 107 121 resourcestring … … 125 139 { TFormNew } 126 140 127 procedure TFormNew.ListView 1Data(Sender: TObject; Item: TListItem);141 procedure TFormNew.ListViewPlayersData(Sender: TObject; Item: TListItem); 128 142 begin 129 143 if (Item.Index >= 0) and (Item.Index < Players.Count) then … … 137 151 end; 138 152 139 procedure TFormNew.ListView 1DblClick(Sender: TObject);153 procedure TFormNew.ListViewPlayersDblClick(Sender: TObject); 140 154 begin 141 155 APlayerModify.Execute; 142 156 end; 143 157 144 procedure TFormNew.ListView 1KeyPress(Sender: TObject; var Key: char);158 procedure TFormNew.ListViewPlayersKeyPress(Sender: TObject; var Key: char); 145 159 begin 146 160 if (Key = #13) then APlayerModify.Execute; 147 161 end; 148 162 149 procedure TFormNew.ListView 1KeyUp(Sender: TObject; var Key: Word;163 procedure TFormNew.ListViewPlayersKeyUp(Sender: TObject; var Key: Word; 150 164 Shift: TShiftState); 151 165 begin … … 154 168 end; 155 169 156 procedure TFormNew.ListView 1SelectItem(Sender: TObject; Item: TListItem;170 procedure TFormNew.ListViewPlayersSelectItem(Sender: TObject; Item: TListItem; 157 171 Selected: Boolean); 158 172 begin 159 173 ReloadView; 174 end; 175 176 procedure TFormNew.RadioButtonModeLocalChange(Sender: TObject); 177 begin 178 UpdateInterface; 160 179 end; 161 180 … … 225 244 ItemIndex := LastIndex; 226 245 end; 246 Core.CoolTranslator1.TranslateComponentRecursive(Self); 227 247 end; 228 248 229 249 procedure TFormNew.ReloadView; 230 250 begin 231 ListView 1.Items.Count := Players.Count;232 ListView 1.Refresh;251 ListViewPlayers.Items.Count := Players.Count; 252 ListViewPlayers.Refresh; 233 253 Translate; 234 254 UpdateInterface; … … 237 257 procedure TFormNew.UpdateInterface; 238 258 begin 239 APlayerRemove.Enabled := Assigned(ListView 1.Selected) and (Players.Count > 2);259 APlayerRemove.Enabled := Assigned(ListViewPlayers.Selected) and (Players.Count > 2); 240 260 APlayerAdd.Enabled := Players.Count < MaxPlayerCount; 241 APlayerModify.Enabled := Assigned(ListView 1.Selected);261 APlayerModify.Enabled := Assigned(ListViewPlayers.Selected); 242 262 EditImageFile.Enabled := ComboBoxMapShape.ItemIndex = Integer(msImage); 243 263 ButtonImageBrowse.Enabled := ComboBoxMapShape.ItemIndex = Integer(msImage); 264 EditServerAddress.Enabled := RadioButtonModeNetworkServer.Checked; 265 SpinEditServerPort.Enabled := RadioButtonModeNetworkServer.Checked; 266 ListViewServers.Enabled := RadioButtonModeNetworkClient.Checked; 244 267 end; 245 268 246 269 procedure TFormNew.FormShow(Sender: TObject); 247 270 begin 271 Core.PersistentForm.Load(Self); 248 272 ReloadView; 249 273 //Height := Trunc(1.5 * Height); … … 251 275 end; 252 276 253 procedure TFormNew.ListView 1CustomDrawSubItem(Sender: TCustomListView;277 procedure TFormNew.ListViewPlayersCustomDrawSubItem(Sender: TCustomListView; 254 278 Item: TListItem; SubItem: Integer; State: TCustomDrawState; 255 279 var DefaultDraw: Boolean); 256 280 begin 257 281 if SubItem = 2 then 258 with ListView 1.Canvas do begin282 with ListViewPlayers.Canvas do begin 259 283 Brush.Color := TPlayer(Item.Data).Color; 260 284 Brush.Style := bsSolid; … … 266 290 begin 267 291 Players := TPlayers.Create; 292 FormChat := TFormChat.Create(nil); 293 FormChat.ManualDock(PanelChat, nil, alClient); 294 FormChat.Align := alClient; 295 FormChat.Show; 296 Translate; 268 297 end; 269 298 … … 283 312 end; 284 313 314 procedure TFormNew.FormClose(Sender: TObject; var CloseAction: TCloseAction); 315 begin 316 Core.PersistentForm.Save(Self); 317 end; 318 285 319 procedure TFormNew.APlayerModifyExecute(Sender: TObject); 286 320 begin 287 if Assigned(ListView 1.Selected) then begin288 FormPlayer.Load(TPlayer(ListView 1.Selected.Data));321 if Assigned(ListViewPlayers.Selected) then begin 322 FormPlayer.Load(TPlayer(ListViewPlayers.Selected.Data)); 289 323 if FormPlayer.ShowModal = mrOk then begin 290 FormPlayer.Save(TPlayer(ListView 1.Selected.Data));324 FormPlayer.Save(TPlayer(ListViewPlayers.Selected.Data)); 291 325 ReloadView; 292 326 end; … … 296 330 procedure TFormNew.APlayerRemoveExecute(Sender: TObject); 297 331 begin 298 if Assigned(ListView 1.Selected) then begin299 Players.Remove(ListView 1.Selected.Data);332 if Assigned(ListViewPlayers.Selected) then begin 333 Players.Remove(ListViewPlayers.Selected.Data); 300 334 ReloadView; 301 335 end; … … 328 362 procedure TFormNew.FormDestroy(Sender: TObject); 329 363 begin 330 Players.Free; 331 end; 332 333 procedure TFormNew.Load(Game: TGame); 334 begin 335 CheckBoxSymetricMap.Checked := Game.SymetricMap; 336 CheckBoxVoid.Checked := Game.VoidEnabled; 337 SpinEditVoidPercent.Value := Game.VoidPercentage; 338 SpinEditVoidPercent.Enabled := Game.VoidEnabled; 339 Players.Assign(Game.PlayersSetting); 340 CheckBoxCity.Checked := Game.CityEnabled; 341 SpinEditCityPercent.Value := Game.CityPercentage; 342 SpinEditMapSizeX.Value := Game.Map.Size.X; 343 SpinEditMapSizeY.Value := Game.Map.Size.Y; 344 TrackBarSizeX.Position := Game.Map.Size.X; 345 TrackBarSizeY.Position := Game.Map.Size.Y; 346 RadioGroupGrowAmount.ItemIndex := Integer(Game.GrowAmount); 347 RadioGroupGrowCells.ItemIndex := Integer(Game.GrowCells); 348 ComboBoxGridType.ItemIndex := Integer(Game.MapType) - 1; 349 ComboBoxWinObjective.ItemIndex := Integer(Game.WinObjective); 350 SpinEditNeutralUnits.Value := Game.MaxNeutralUnits; 351 ComboBoxMapShape.ItemIndex := Integer(Game.Map.Shape); 352 EditImageFile.Text := Game.MapImageFileName; 353 CheckBoxFogOfWar.Checked := Game.FogOfWar; 354 CheckBoxBridges.Checked := Game.BridgeEnabled; 355 end; 356 357 procedure TFormNew.Save(Game: TGame); 358 begin 359 Game.PlayersSetting.Assign(Players); 360 Game.SymetricMap := CheckBoxSymetricMap.Checked; 361 Game.VoidEnabled := CheckBoxVoid.Checked; 362 Game.VoidPercentage := SpinEditVoidPercent.Value; 363 Game.CityEnabled := CheckBoxCity.Checked; 364 Game.CityPercentage := SpinEditCityPercent.Value; 365 Game.Map.Size := TPoint.Create(SpinEditMapSizeX.Value, SpinEditMapSizeY.Value); 366 Game.GrowAmount := TGrowAmount(RadioGroupGrowAmount.ItemIndex); 367 Game.GrowCells := TGrowCells(RadioGroupGrowCells.ItemIndex); 368 Game.MapType := TMapType(ComboBoxGridType.ItemIndex + 1); 369 Game.WinObjective := TWinObjective(ComboBoxWinObjective.ItemIndex); 370 Game.MaxNeutralUnits := SpinEditNeutralUnits.Value; 371 Game.Map.Shape := TMapShape(ComboBoxMapShape.ItemIndex); 372 Game.MapImageFileName := EditImageFile.Text; 373 Game.FogOfWar := CheckBoxFogOfWar.Checked; 374 Game.BridgeEnabled := CheckBoxBridges.Checked; 364 FreeAndNil(Players); 365 FreeAndNil(FormChat); 366 end; 367 368 procedure TFormNew.Load(Server: TServer); 369 begin 370 with Server do begin 371 CheckBoxSymetricMap.Checked := Game.SymetricMap; 372 CheckBoxVoid.Checked := Game.VoidEnabled; 373 SpinEditVoidPercent.Value := Game.VoidPercentage; 374 SpinEditVoidPercent.Enabled := Game.VoidEnabled; 375 Players.Assign(Game.PlayersSetting); 376 CheckBoxCity.Checked := Game.CityEnabled; 377 SpinEditCityPercent.Value := Game.CityPercentage; 378 SpinEditMapSizeX.Value := Game.Map.Size.X; 379 SpinEditMapSizeY.Value := Game.Map.Size.Y; 380 TrackBarSizeX.Position := Game.Map.Size.X; 381 TrackBarSizeY.Position := Game.Map.Size.Y; 382 RadioGroupGrowAmount.ItemIndex := Integer(Game.GrowAmount); 383 RadioGroupGrowCells.ItemIndex := Integer(Game.GrowCells); 384 ComboBoxGridType.ItemIndex := Integer(Game.MapType) - 1; 385 ComboBoxWinObjective.ItemIndex := Integer(Game.WinObjective); 386 SpinEditNeutralUnits.Value := Game.MaxNeutralUnits; 387 ComboBoxMapShape.ItemIndex := Integer(Game.Map.Shape); 388 EditImageFile.Text := Game.MapImageFileName; 389 CheckBoxFogOfWar.Checked := Game.FogOfWar; 390 CheckBoxBridges.Checked := Game.BridgeEnabled; 391 RadioButtonModeLocal.Checked := Mode = smLocal; 392 RadioButtonModeNetworkClient.Checked := Mode = smNetworkClient; 393 RadioButtonModeNetworkServer.Checked := Mode = smNetworkServer; 394 EditServerAddress.Text := LocalNetworkAddress; 395 SpinEditServerPort.Value := LocalNetworkPort; 396 end; 397 end; 398 399 procedure TFormNew.Save(Server: TServer); 400 begin 401 with Server do begin 402 if RadioButtonModeLocal.Checked then Mode := smLocal 403 else if RadioButtonModeNetworkClient.Checked then Mode := smNetworkClient 404 else if RadioButtonModeNetworkServer.Checked then Mode := smNetworkServer; 405 LocalNetworkAddress := EditServerAddress.Text; 406 LocalNetworkPort := SpinEditServerPort.Value; 407 Game.PlayersSetting.Assign(Players); 408 Game.SymetricMap := CheckBoxSymetricMap.Checked; 409 Game.VoidEnabled := CheckBoxVoid.Checked; 410 Game.VoidPercentage := SpinEditVoidPercent.Value; 411 Game.CityEnabled := CheckBoxCity.Checked; 412 Game.CityPercentage := SpinEditCityPercent.Value; 413 Game.Map.Size := TPoint.Create(SpinEditMapSizeX.Value, SpinEditMapSizeY.Value); 414 Game.GrowAmount := TGrowAmount(RadioGroupGrowAmount.ItemIndex); 415 Game.GrowCells := TGrowCells(RadioGroupGrowCells.ItemIndex); 416 Game.MapType := TMapType(ComboBoxGridType.ItemIndex + 1); 417 Game.WinObjective := TWinObjective(ComboBoxWinObjective.ItemIndex); 418 Game.MaxNeutralUnits := SpinEditNeutralUnits.Value; 419 Game.Map.Shape := TMapShape(ComboBoxMapShape.ItemIndex); 420 Game.MapImageFileName := EditImageFile.Text; 421 Game.FogOfWar := CheckBoxFogOfWar.Checked; 422 Game.BridgeEnabled := CheckBoxBridges.Checked; 423 end; 375 424 end; 376 425
Note:
See TracChangeset
for help on using the changeset viewer.