Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ability to set coverage color based on status #131

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
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
3 changes: 3 additions & 0 deletions src/config-keys.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@
#define MOD_CFG_MAP_SAT_COL "SAT_COLOUR"
#define MOD_CFG_MAP_SAT_SEL_COL "SAT_SEL_COLOUR"
#define MOD_CFG_MAP_SAT_COV_COL "COV_AREA_COLOUR"
#define MOD_CFG_MAP_SAT_COV_COL_FO "COV_AREA_COLOUR_FULLOP"
#define MOD_CFG_MAP_SAT_COV_COL_PO "COV_AREA_COLOUR_PARTOP"
#define MOD_CFG_MAP_SAT_COV_COL_NO "COV_AREA_COLOUR_NONOP"
#define MOD_CFG_MAP_QTH_COL "QTH_COLOUR"
#define MOD_CFG_MAP_INFO_COL "INFO_COLOUR"
#define MOD_CFG_MAP_INFO_BGD_COL "INFO_BGD_COLOUR"
Expand Down
69 changes: 58 additions & 11 deletions src/gtk-sat-map.c
Original file line number Diff line number Diff line change
Expand Up @@ -1737,24 +1737,44 @@ static void plot_sat(gpointer key, gpointer value, gpointer data)
MOD_CFG_MAP_SAT_COL, SAT_CFG_INT_MAP_SAT_COL);

/* area coverage colour */
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL,
SAT_CFG_INT_MAP_SAT_COV_COL);
/* coverage color */
if (obj->showcov)
{
covcol = mod_cfg_get_int(satmap->cfgdata,
switch(sat->tle.status) {
case OP_STAT_OPERATIONAL:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_FO,
SAT_CFG_INT_MAP_SAT_COV_COL_FO);
break;
case OP_STAT_PARTIAL:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_PO,
SAT_CFG_INT_MAP_SAT_COV_COL_PO);
break;
case OP_STAT_NONOP:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_NO,
SAT_CFG_INT_MAP_SAT_COV_COL_NO);
break;
case OP_STAT_UNKNOWN:
case OP_STAT_STDBY:
case OP_STAT_SPARE:
case OP_STAT_EXTENDED:
default:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL,
SAT_CFG_INT_MAP_SAT_COV_COL);

}
}
else
{
covcol = 0x00000000;
}


/* shadow colour (only alpha channel) */
shadowcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
Expand Down Expand Up @@ -2064,15 +2084,42 @@ static void update_sat(gpointer key, gpointer value, gpointer data)
/* coverage color */
if (obj->showcov)
{
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL,
SAT_CFG_INT_MAP_SAT_COV_COL);
switch(sat->tle.status) {
case OP_STAT_OPERATIONAL:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_FO,
SAT_CFG_INT_MAP_SAT_COV_COL_FO);
break;
case OP_STAT_PARTIAL:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_PO,
SAT_CFG_INT_MAP_SAT_COV_COL_PO);
break;
case OP_STAT_NONOP:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL_NO,
SAT_CFG_INT_MAP_SAT_COV_COL_NO);
break;
case OP_STAT_UNKNOWN:
case OP_STAT_STDBY:
case OP_STAT_SPARE:
case OP_STAT_EXTENDED:
default:
covcol = mod_cfg_get_int(satmap->cfgdata,
MOD_CFG_MAP_SECTION,
MOD_CFG_MAP_SAT_COV_COL,
SAT_CFG_INT_MAP_SAT_COV_COL);

}
}
else
{
covcol = 0x00000000;
}

obj->range2 = goo_canvas_polyline_model_new(root, FALSE, 0,
"points", points2,
"line-width", 1.0,
Expand Down
5 changes: 4 additions & 1 deletion src/sat-cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,10 @@ sat_cfg_int_t sat_cfg_int[SAT_CFG_INT_NUM] = {
{"MODULES", "MAP_QTH_COLOUR", 0x00FFFFFF},
{"MODULES", "MAP_SAT_COLOUR", 0xF0F000FF},
{"MODULES", "MAP_SELECTED_SAT_COLOUR", 0xFFFFFFFF},
{"MODULES", "MAP_COV_AREA_COLOUR", 0xFFFFFF1F},
{"MODULES", "MAP_COV_AREA_COLOUR_DEFAULT", 0xFFFFFF1F},
{"MODULES", "MAP_COV_AREA_COLOUR_OPERATIONAL", 0xFFFFFF1F},
{"MODULES", "MAP_COV_AREA_COLOUR_PARTOPERATIONAL", 0xFFFFFF1F},
{"MODULES", "MAP_COV_AREA_COLOUR_NONOPERATIONAL", 0xFFFFFF1F},
{"MODULES", "MAP_GRID_COLOUR", 0x7F7F7FC8},
{"MODULES", "MAP_TERMINATOR_COLOUR", 0xFFFF0080},
{"MODULES", "MAP_EARTH_SHADOW_COLOUR", 0x00000060},
Expand Down
5 changes: 4 additions & 1 deletion src/sat-cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,10 @@ typedef enum {
SAT_CFG_INT_MAP_QTH_COL, /*!< QTH mark colour on map. */
SAT_CFG_INT_MAP_SAT_COL, /*!< Satellite colour on maps */
SAT_CFG_INT_MAP_SAT_SEL_COL, /*!< Selected satellite colour */
SAT_CFG_INT_MAP_SAT_COV_COL, /*!< Map coverage area colour */
SAT_CFG_INT_MAP_SAT_COV_COL, /*!< Map coverage area colour (default)*/
SAT_CFG_INT_MAP_SAT_COV_COL_FO, /*!< Map coverage area colour (fully oper) */
SAT_CFG_INT_MAP_SAT_COV_COL_PO, /*!< Map coverage area colour (part oper) */
SAT_CFG_INT_MAP_SAT_COV_COL_NO, /*!< Map coverage area colour (non oper) */
SAT_CFG_INT_MAP_GRID_COL, /*!< Grid colour. */
SAT_CFG_INT_MAP_TERMINATOR_COL, /*!< Solar terminator colour. */
SAT_CFG_INT_MAP_GLOBAL_SHADOW_COL, /*!< Earth shadow colour. */
Expand Down
Loading