Skip to content
Snippets Groups Projects
Commit 63c63c1b authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#58 Show actually selected user in user selectbox

parent da9b2f5f
No related branches found
No related tags found
No related merge requests found
......@@ -9,9 +9,13 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.Disableable;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import net.engio.mbassy.listener.Handler;
import java.util.ArrayList;
import java.util.List;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.bus.ApplicationBus;
import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
import cz.nic.tablexia.loader.application.ApplicationFontManager;
import cz.nic.tablexia.model.User;
......@@ -71,24 +75,44 @@ public class UserSelectBox extends AbstractTablexiaSelectBox<UserSelectBox.UserI
public UserSelectBox(float itemHeight) {
super(itemHeight);
ApplicationBus.getInstance().subscribe(this);
selector = (new TextureRegionDrawable(ApplicationAtlasManager.getInstance().getColorTextureRegion(FOREGROUND_COLOR)));
triangle = (new TextureRegionDrawable(ApplicationAtlasManager.getInstance().getTextureRegion(ApplicationAtlasManager.USERMENU_MENUITEM_TRIANGLE)));
List<UserItem> userItems = new ArrayList<UserItem>();
for (User user: User.selectActiveUsers()) {
userItems.add(new UserItem(user.getName()));
}
setItems(userItems.toArray(new UserItem[]{}));
prepareActiveUsers();
addCaptureListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
}
});
}
@Handler
public void onSelectedUserEvent(TablexiaSettings.SelectedUserEvent selectedUserEvent) {
prepareActiveUsers();
}
private void prepareActiveUsers() {
UserItem selectedUser = null;
List<UserItem> userItems = new ArrayList<UserItem>();
for (User user: User.selectActiveUsers()) {
UserItem userItem = new UserItem(user.getName());
userItems.add(userItem);
if (user.equals(TablexiaSettings.getInstance().getSelectedUser())) {
selectedUser = userItem;
}
}
setItems(userItems.toArray(new UserItem[]{}));
if (selectedUser != null) {
setSelected(selectedUser);
} else {
setSelected(null);
}
}
@Override
protected void drawSelectedItem(Batch batch, float parentAlpha, UserItem selected, float width, float height) {
selected.setBounds(getX(), getY(), width, height);
......
......@@ -40,7 +40,7 @@ public class User extends UserMenu.UserMenuItem {
}
}
private final Long id;
private final long id;
private final String name;
private final int age;
private final Gender gender;
......@@ -86,6 +86,17 @@ public class User extends UserMenu.UserMenuItem {
return intro;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj instanceof User)) {
return false;
}
return ((User)obj).getId().equals(getId());
}
@Override
public String toString() {
return "USER[id: " + id + ", name: " + name + ", age: " + age + ", gen: " + gender.name() + ", del: " + deleted + ", help: " + help + ", intro: " + intro + "]";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment