This commit is contained in:
2014-07-07 13:53:58 +04:00
parent 9e4b7b0556
commit d1ef73c6f6
4 changed files with 13 additions and 29 deletions

View File

@@ -1,7 +1,6 @@
package ru.m.armageddon.client.frames;
import haxework.frame.IFrameSwitcher;
import protohx.MessageUtils;
import ru.m.armageddon.proto.PersonSelectResponse;
import ru.m.armageddon.proto.PersonSelectRequest;
import haxework.gui.list.ListView;
@@ -13,15 +12,14 @@ import haxework.provider.Provider;
import ru.m.armageddon.proto.Person;
import haxework.gui.list.VListView;
import haxework.gui.HGroupView;
import ru.m.armageddon.client.frames.person.PersonRenderer;
class PersonFrame extends HGroupView implements IPacketHandler implements ListViewListener<PersonView, Person> {
class PersonFrame extends HGroupView implements IPacketHandler implements ListViewListener<Person> {
private static inline var TAG = "PersonFrame";
public static inline var ID = "person";
private var list:VListView<PersonView, Person>;
private var list:VListView<Person>;
public function new() {
super();
@@ -37,7 +35,7 @@ class PersonFrame extends HGroupView implements IPacketHandler implements ListVi
Provider.get(IConnection).packetHandler = this;
}
public function onListItemClick(item:ListItem<PersonView, Person>):Void {
public function onListItemClick(item:IListItemView<Person>):Void {
Provider.get(IConnection).send(new PersonSelectRequest().setPersonId(item.data.id));
}

View File

@@ -1,16 +0,0 @@
package ru.m.armageddon.client.frames.person;
import ru.m.armageddon.proto.Person;
import haxework.gui.list.VListView;
import haxework.gui.list.ListView;
class PersonRenderer implements IRenderer<VListView<PersonView, Person>, PersonView, Person> {
public function factory():ListItem<PersonView, Person> {
return {view:new PersonView()};
}
public function render(list:VListView<PersonView, Person>, item:ListItem<PersonView, Person>):Void {
item.view.person = item.data;
}
}

View File

@@ -1,13 +1,15 @@
package ru.m.armageddon.client.frames.person;
import haxework.gui.list.ListView.IListItemView;
import haxework.gui.LabelView;
import ru.m.armageddon.proto.Person;
import haxework.gui.skin.ColorSkin;
import haxework.gui.HGroupView;
class PersonView extends HGroupView {
class PersonView extends HGroupView implements IListItemView<Person> {
public var person(default,set):Person;
public var item_index(default, default):Int;
public var data(default, set):Person;
private var nameLabel:LabelView;
@@ -21,9 +23,9 @@ class PersonView extends HGroupView {
addView(nameLabel);
}
private function set_person(value:Person):Person {
this.person = value;
nameLabel.text = this.person.name;
return this.person;
private function set_data(value:Person):Person {
this.data = value;
nameLabel.text = this.data.name;
return this.data;
}
}