Subversion Repositories HomeAutomation

Rev

Rev 1351 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1351 Rev 1352
Line 2... Line 2...
2
DimmerMenuItem.prototype.parentDisplay = null;
2
DimmerMenuItem.prototype.parentDisplay = null;
3
 
3
 
4
DimmerMenuItem.prototype.dimmers = null;
4
DimmerMenuItem.prototype.dimmers = null;
5
DimmerMenuItem.prototype.mode = 0;
5
DimmerMenuItem.prototype.mode = 0;
6
DimmerMenuItem.prototype.currentDimmerItem = 0;
6
DimmerMenuItem.prototype.currentDimmerItem = 0;
-
 
7
DimmerMenuItem.prototype.window_low = 0;
-
 
8
DimmerMenuItem.prototype.window_high = 3;
7
 
9
 
8
function DimmerMenuItem(parentDisplay, hd44789Object)
10
function DimmerMenuItem(parentDisplay, hd44789Object)
9
{
11
{
10
    var self = this;
12
    var self = this;
11
    this.parentDisplay = parentDisplay;
13
    this.parentDisplay = parentDisplay;
Line 38... Line 40...
38
    case "right":
40
    case "right":
39
        if (this.mode == 0) {
41
        if (this.mode == 0) {
40
            this.parentDisplay.changeToRight();
42
            this.parentDisplay.changeToRight();
41
        } else if (this.mode == 1){
43
        } else if (this.mode == 1){
42
            this.currentDimmerItem--;
44
            this.currentDimmerItem--;
43
            if (this.currentDimmerItem == -1) {
45
            if (this.currentDimmerItem < 0) {
44
                this.mode = 2;
46
                this.mode = 2;
-
 
47
this.currentDimmerItem= this.dimmers.length-1;
45
            }
48
            }
46
        } else if (this.mode == 3){
49
        } else if (this.mode == 3){
47
this.dimmers[this.currentDimmerItem]['service'].relFade(this.dimmers[this.currentDimmerItem]['channel'],132, "Decrease", 25);
50
this.dimmers[this.currentDimmerItem]['service'].relFade(this.dimmers[this.currentDimmerItem]['channel'],132, "Decrease", 25);
48
        } else {
51
        } else {
49
this.mode = 1;
52
this.mode = 1;
50
this.currentDimmerItem= this.dimmers.length-1;
53
this.currentDimmerItem= this.dimmers.length-1;
-
 
54
if (this.dimmers.length-1 - (this.window_high-this.window_low) >= 0) {
-
 
55
                this.window_low = this.dimmers.length-1 - (this.window_high-this.window_low);
-
 
56
                this.window_high = this.dimmers.length-1;
-
 
57
                this.display.clearScreen();
-
 
58
}
51
}
59
}
-
 
60
if (this.currentDimmerItem < this.window_low ) {
-
 
61
                this.window_low--;
-
 
62
                this.window_high--;
-
 
63
                this.display.clearScreen();
-
 
64
            }
52
        break;
65
        break;
53
 
66
 
54
    case "left":
67
    case "left":
55
        if (this.mode == 0) {
68
        if (this.mode == 0) {
56
            this.parentDisplay.changeToLeft();
69
            this.parentDisplay.changeToLeft();
57
        } else if (this.mode == 1){
70
        } else if (this.mode == 1){
58
            this.currentDimmerItem++;
71
            this.currentDimmerItem++;
59
            if (this.currentDimmerItem == this.dimmers.length) {
72
            if (this.currentDimmerItem >= this.dimmers.length) {
60
                this.mode = 2;
73
                this.mode = 2;
-
 
74
this.currentDimmerItem=0;
61
            }
75
            }
62
        } else if (this.mode == 3){
76
        } else if (this.mode == 3){
63
this.dimmers[this.currentDimmerItem]['service'].relFade(this.dimmers[this.currentDimmerItem]['channel'],132, "Increase", 25);
77
this.dimmers[this.currentDimmerItem]['service'].relFade(this.dimmers[this.currentDimmerItem]['channel'],132, "Increase", 25);
64
        } else {
78
        } else {
65
this.mode = 1;
79
this.mode = 1;
66
this.currentDimmerItem=0;
80
this.currentDimmerItem=0;
-
 
81
                this.window_high = this.window_high-this.window_low;
-
 
82
                this.window_low = 0;
-
 
83
                this.display.clearScreen();
-
 
84
 
67
}
85
}
-
 
86
if (this.currentDimmerItem > this.window_high ) {
-
 
87
                this.window_low++;
-
 
88
                this.window_high++;
-
 
89
                this.display.clearScreen();
-
 
90
            }
68
        break;
91
        break;
69
    case "enter":
92
    case "enter":
70
if (this.mode == 0) {
93
if (this.mode == 0) {
71
            if (this.dimmers.length > 0) {
94
            if (this.dimmers.length > 0) {
72
                this.currentDimmerItem = 0;
95
                //this.currentDimmerItem = 0;
73
                this.mode = 1;
96
                this.mode = 1;
74
            }
97
            }
75
        } else if (this.mode == 1){
98
        } else if (this.mode == 1){
76
            this.mode = 3;
99
            this.mode = 3;
77
        } else if (this.mode == 3) {
100
        } else if (this.mode == 3) {
78
            this.mode = 1;
101
            this.mode = 1;
79
        } else {
102
        } else {
80
            this.mode = 0;
103
            this.mode = 0;
81
        }
104
        }
82
        break;
105
        break;
83
    }
106
    }
84
}
107
}
85
 
108
 
86
DimmerMenuItem.prototype.onEnter = function ()
109
DimmerMenuItem.prototype.onEnter = function ()
Line 89... Line 112...
89
this.mode = 0;
112
this.mode = 0;
90
    this.display.clearScreen();
113
    this.display.clearScreen();
91
}
114
}
92
DimmerMenuItem.prototype.update = function ()
115
DimmerMenuItem.prototype.update = function ()
93
{
116
{
94
    this.display.clearScreen();
117
    //this.display.clearScreen();
95
if (this.mode != 2) {
118
if (this.mode != 2) {
-
 
119
row = 0;
-
 
120
 
96
    for (var i = 0; i < this.dimmers.length && i < 4; i++) {
121
    for (var i = this.window_low; i < this.dimmers.length && i <= this.window_high; i++) {
97
if (this.mode == 1 && this.currentDimmerItem == i) {
122
if (this.mode == 1 && this.currentDimmerItem == i) {
98
this.display.printText(0, i, this.parentDisplay.lcdCenterText("-"+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"."));
123
this.display.printText(0, row, this.parentDisplay.lcdCenterText("-"+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"   "));
99
} else if (this.mode == 3 && this.currentDimmerItem == i) {
124
} else if (this.mode == 3 && this.currentDimmerItem == i) {
100
this.display.printText(0, i, this.parentDisplay.lcdCenterText("<>"+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"."));
125
this.display.printText(0, row, this.parentDisplay.lcdCenterText("<>"+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"   "));
101
} else {
126
} else {
102
this.display.printText(0, i, this.parentDisplay.lcdCenterText(""+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"."));
127
this.display.printText(0, row, this.parentDisplay.lcdCenterText(""+ this.dimmers[i]['name'] + " " +getDimmerValue(this.dimmers[i]['name'])+"   "));
103
}
-
 
104
 
128
 
-
 
129
}
-
 
130
row++;
105
}
131
}
106
} else {
132
} else {
-
 
133
this.display.clearScreen();
107
this.display.printText(0, i, this.parentDisplay.lcdCenterText("Tillbaka"));
134
this.display.printText(0, 0, this.parentDisplay.lcdCenterText("Tillbaka"));
108
}
135
}
109
}
136
}
110
 
137
 
111
DimmerMenuItem.prototype.onExit = function ()
138
DimmerMenuItem.prototype.onExit = function ()
112
{
139
{