import elements.BaseGuiElement;
import elements.GuiOverlay;
import elements.GuiBackgroundPanel;
import elements.GuiMarkupText;
import elements.GuiText;
import elements.GuiListbox;
import elements.GuiProgressbar;
import elements.Gui3DObject;
import elements.GuiButton;
import elements.GuiPanel;
import elements.GuiSprite;
from dialogs.MessageDialog import message;
import anomalies;
import targeting.ObjectTarget;
class Option : GuiButton {
const AnomalyOption@ option;
GuiSprite@ icon;
GuiMarkupText@ content;
uint index;
Option(IGuiElement@ parent) {
super(parent, recti());
@icon = GuiSprite(this, Alignment(Left+4, Top+0.5f-30, Left+64, Top+0.5f+30));
@content = GuiMarkupText(this, recti(68, 4, 100, 100));
style = SS_ChoiceBox;
}
int set(const AnomalyOption@ option, int y, uint index) {
@this.option = option;
this.index = index;
position = vec2i(4, y);
size = vec2i(parent.size.width-8, size.height);
content.size = vec2i(size.width - 72, content.size.height);
content.text = option.desc;
icon.desc = option.icon;
updateAbsolutePosition();
size = vec2i(size.width, max(content.size.height + 12, 68));
return size.height;
}
};
class AnomalyOverlay : GuiOverlay {
Anomaly@ anomaly;
GuiBackgroundPanel@ bg;
GuiBackgroundPanel@ choices;
GuiPanel@ descPanel;
GuiMarkupText@ description;
GuiText@ progressLabel;
Gui3DObject@ model;
GuiProgressbar@ bar;
GuiPanel@ choicePanel;
array