Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build/*
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Alow you to have a interactive checklist in your 2d or VR cockpit

```
choco install git cmake
choco install mingw --version 8.1.0
choco install mingw --version 12.2.0
```

You can also install the same programs manually if you prefer.
Expand Down
7 changes: 7 additions & 0 deletions src/chkl.y
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,13 @@ spec_string: coloured_string{
$3->resolve_colours();
$$ = new item_label($1, $3);
}
| coloured_string TOKEN_PIPE coloured_string TOKEN_PIPE coloured_string TOKEN_PIPE coloured_string{
$1->resolve_colours();
$3->resolve_colours();
$5->resolve_colours();
$7->resolve_colours();
$$ = new item_label($1, $3, $5, $7);
}
;
coloured_string : coloured_string coloured_string_element {
$2->append($1);
Expand Down
5 changes: 4 additions & 1 deletion src/chkl_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,15 +261,18 @@ class dataref_dsc : public dataref_t{
class item_label{
friend std::ostream& operator<<(std::ostream &output, const item_label& l);
public:
item_label(coloured_string *label_left, coloured_string *label_right, coloured_string *label_left_phonetic, coloured_string *label_right_phonetic);
item_label(coloured_string *label_left, coloured_string *label_right);
item_label(coloured_string *label_left);
~item_label(){if(label) delete label; if(suffix) delete suffix;};
~item_label(){if(label) delete label; if(suffix) delete suffix;if(label_phonetic) delete label_phonetic; if(suffix_phonetic) delete suffix_phonetic;};
bool getDesc(checklist_item_desc_t &desc);
void say_label();
void say_suffix();
private:
coloured_string *label;
coloured_string *label_phonetic;
coloured_string *suffix;
coloured_string *suffix_phonetic;
};

class show_item: public checklist_item{
Expand Down
16 changes: 14 additions & 2 deletions src/parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -574,29 +574,41 @@ bool dataref_dsc::trigered()



item_label::item_label(coloured_string *label_left, coloured_string *label_right, coloured_string *label_left_phonetic, coloured_string *label_right_phonetic)
{
label = label_left;
label_phonetic = label_left_phonetic;
suffix = label_right;
suffix_phonetic = label_right_phonetic;
}

item_label::item_label(coloured_string *label_left, coloured_string *label_right)
{
label = label_left;
label_phonetic = label_left;
suffix = label_right;
suffix_phonetic = label_right;
}

item_label::item_label(coloured_string *label_left)
{
label = label_left;
label_phonetic = label_left;
suffix = new coloured_string("CHECK");
suffix_phonetic = new coloured_string("CHECK");
}

void item_label::say_label()
{
if(voice_state) {
say(label->c_str());
say(label_phonetic->c_str());
}
}

void item_label::say_suffix()
{
if(voice_state) {
say(suffix->c_str());
say(suffix_phonetic->c_str());
}
}

Expand Down