Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
yotta
/
pictogram
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
60
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
56cb8903
authored
Dec 15, 2016
by
Arturo Montejo Ráez
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'develop' into issue611
parents
eadd39f9
3d67429d
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
198 additions
and
172 deletions
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/Picto.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/tts/TTSHelper.java
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictoItemViewGenerator.java
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictogramActivity.java
sails/src/assets/scripts/modules/student/views/pictoconfig.html
sails/src/assets/scripts/modules/student/views/setup.html
sails/src/assets/scripts/modules/supervisor/views/students.html
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/Picto.java
View file @
56cb8903
package
com
.
yottacode
.
pictogram
.
dao
;
package
com
.
yottacode
.
pictogram
.
dao
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.graphics.Matrix
;
import
android.graphics.Paint
;
import
android.graphics.PorterDuff
;
import
android.util.Log
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.view.Gravity
;
import
android.widget.TextView
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.PictoUploader
;
...
@@ -24,9 +13,6 @@ import com.yottacode.pictogram.tools.PCBcontext;
...
@@ -24,9 +13,6 @@ import com.yottacode.pictogram.tools.PCBcontext;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
/**
/**
* A object which represents a pictogram
* A object which represents a pictogram
...
@@ -77,9 +63,11 @@ public class Picto extends Img {
...
@@ -77,9 +63,11 @@ public class Picto extends Img {
private
JSONObject
attributes
;
private
JSONObject
attributes
;
private
String
translation
;
private
String
translation
;
private
boolean
is_mirror
=
false
;
private
boolean
is_mirror
=
false
;
private
boolean
highlight_background
=
false
;
public
boolean
is_mirror
()
{
return
is_mirror
;}
public
boolean
is_mirror
()
{
return
is_mirror
;}
public
void
set_mirror
(
boolean
is_mirror
)
{
public
boolean
is_highlight_background
()
{
return
highlight_background
;}
public
void
set_mirror
(
boolean
is_mirror
,
boolean
highlight_background
)
{
this
.
highlight_background
=
highlight_background
;
this
.
is_mirror
=
is_mirror
;}
this
.
is_mirror
=
is_mirror
;}
public
Picto
(
int
id
,
String
url
,
String
translation
,
int
cat
,
int
row
,
int
column
,
int
freeRow
,
int
freeColumn
)
throws
JSONException
{
public
Picto
(
int
id
,
String
url
,
String
translation
,
int
cat
,
int
row
,
int
column
,
int
freeRow
,
int
freeColumn
)
throws
JSONException
{
...
@@ -268,11 +256,13 @@ public class Picto extends Img {
...
@@ -268,11 +256,13 @@ public class Picto extends Img {
* @return the legend of a picto (none | normal | full)
* @return the legend of a picto (none | normal | full)
*/
*/
public
String
get_legend
()
{
public
String
get_legend
()
{
String
legend
;
try
{
try
{
return
this
.
attributes
.
getString
(
JSON_ATTTRS
.
LEGEND
);
legend
=
this
.
attributes
.
getString
(
JSON_ATTTRS
.
LEGEND
);
}
catch
(
JSONException
e
)
{
}
catch
(
JSONException
e
)
{
return
"none"
;
// By default
legend
=
JSON_ATTTR_LEGEND_VALUES
.
NONE
;
// By default
}
}
return
legend
.
equalsIgnoreCase
(
"null"
)
?
JSON_ATTTR_LEGEND_VALUES
.
NONE
:
legend
;
}
}
/**
/**
...
@@ -401,131 +391,4 @@ public class Picto extends Img {
...
@@ -401,131 +391,4 @@ public class Picto extends Img {
PCBcontext
.
getPcbdb
().
modifyPicto
(
this
.
get_id
(),
this
.
get_json_attrs
());
PCBcontext
.
getPcbdb
().
modifyPicto
(
this
.
get_id
(),
this
.
get_json_attrs
());
}
}
}
}
/**
* override method that draw the legend on the picto bitmap
*/
@Override
public
Bitmap
get_bitmap
(
Context
context
)
throws
IOException
{
if
(
bitmap
==
null
)
{
File
file
=
file
(
context
);
if
(
file
.
exists
())
{
FileInputStream
is
=
new
FileInputStream
(
file
);
this
.
bitmap
=
BitmapFactory
.
decodeStream
(
is
);
is
.
close
();
}
}
Paint
paint
=
new
Paint
(
Paint
.
ANTI_ALIAS_FLAG
);
int
width
=
bitmap
.
getWidth
();
//Ancho original
int
height
=
bitmap
.
getHeight
();
//Alto original
int
dens
=
bitmap
.
getDensity
();
if
(!
get_legend
().
equals
(
JSON_ATTTR_LEGEND_VALUES
.
NONE
)){
String
texto
=
this
.
translation
.
toUpperCase
();
String
[]
words
=
texto
.
split
(
" "
);
StringBuffer
txt
=
new
StringBuffer
();
if
(
words
.
length
==
1
)
{
if
(
words
[
0
].
length
()
>
10
)
{
texto
=
""
;
int
mitad
=
(
words
[
0
].
length
()
/
2
)
-
1
;
char
r
=
words
[
0
].
charAt
(
mitad
);
char
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
while
((
r2
==
'A'
||
r2
==
'E'
||
r2
==
'I'
||
r2
==
'O'
||
r2
==
'U'
)
&&
(
r
!=
'A'
||
r
!=
'E'
||
r
!=
'I'
||
r
!=
'O'
||
r
!=
'U'
))
{
mitad
++;
r
=
words
[
0
].
charAt
(
mitad
);
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
}
int
i
=
0
;
while
(
i
<=
mitad
)
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
int
diff
=
10
-
mitad
;
diff
-=
1
;
txt
.
append
(
"-"
);
while
(
diff
!=
10
)
{
txt
.
append
(
" "
);
diff
++;
}
while
(
i
<
words
[
0
].
length
())
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
texto
=
txt
.
toString
();
}
}
if
(
get_legend
().
equals
(
JSON_ATTTR_LEGEND_VALUES
.
NORMAL
))
{
//Normal legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
if
(
cont
==
0
)
{
Bitmap
bm
=
Bitmap
.
createScaledBitmap
(
bitmap
,
width
/
2
,
height
/
2
,
false
);
canvas
.
drawColor
(
Color
.
TRANSPARENT
,
PorterDuff
.
Mode
.
CLEAR
);
//Poner en blanco el bitmap original para dibujar encima
canvas
.
drawBitmap
(
bm
,
25
,
0
,
paint
);
cont
++;
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
50
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setBackgroundColor
(
Color
.
WHITE
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
4
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
50
,
null
);
}
}
else
{
//Only legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
paint
.
setColor
(
Color
.
WHITE
);
canvas
.
drawRect
(
0
,
0
,
100
,
100
,
paint
);
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
0
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
2
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
25
,
null
);
}
}
return
bitmap
;
}
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/tts/TTSHelper.java
View file @
56cb8903
...
@@ -54,7 +54,7 @@ public class TTSHelper {
...
@@ -54,7 +54,7 @@ public class TTSHelper {
Set
<
Voice
>
voices
=
this
.
ttobj
.
getVoices
();
Set
<
Voice
>
voices
=
this
.
ttobj
.
getVoices
();
if
(
voices
!=
null
)
if
(
voices
!=
null
)
for
(
Voice
avoice
:
voices
)
{
for
(
Voice
avoice
:
voices
)
{
Log
.
i
(
context
.
getApplicationInfo
().
processName
,
"Voice "
+
avoice
+
" available"
);
if
(
avoice
.
getName
().
equalsIgnoreCase
(
voice
))
{
if
(
avoice
.
getName
().
equalsIgnoreCase
(
voice
))
{
this
.
ttobj
.
setVoice
(
avoice
);
this
.
ttobj
.
setVoice
(
avoice
);
this
.
voice_ok
=
true
;
this
.
voice_ok
=
true
;
...
...
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictoItemViewGenerator.java
View file @
56cb8903
package
com
.
yottacode
.
pictogram
.
tabletlibrary
.
gui
;
package
com
.
yottacode
.
pictogram
.
tabletlibrary
.
gui
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.graphics.PorterDuff
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.tabletlibrary.R
;
import
com.yottacode.pictogram.tabletlibrary.R
;
...
@@ -22,6 +31,130 @@ public class PictoItemViewGenerator {
...
@@ -22,6 +31,130 @@ public class PictoItemViewGenerator {
public
static
final
int
LAYOUT
=
R
.
layout
.
picto_grid_item
;
public
static
final
int
LAYOUT
=
R
.
layout
.
picto_grid_item
;
public
static
final
int
LAYOUT_BIG
=
R
.
layout
.
picto_grid_item_big
;
public
static
final
int
LAYOUT_BIG
=
R
.
layout
.
picto_grid_item_big
;
public
static
int
mirror_color
=
0
;
public
static
int
mirror_color
=
0
;
/**
*
* @param picto Pictogram to set the legend text
* @return the text modified
*/
private
static
String
format_legend
(
Picto
picto
)
{
String
texto
=
picto
.
get_translation
().
toUpperCase
();
String
[]
words
=
texto
.
split
(
" "
);
StringBuffer
txt
=
new
StringBuffer
();
if
(
words
.
length
==
1
)
{
if
(
words
[
0
].
length
()
>
10
)
{
texto
=
""
;
int
mitad
=
(
words
[
0
].
length
()
/
2
)
-
1
;
char
r
=
words
[
0
].
charAt
(
mitad
);
char
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
while
((
r2
==
'A'
||
r2
==
'E'
||
r2
==
'I'
||
r2
==
'O'
||
r2
==
'U'
)
&&
(
r
!=
'A'
||
r
!=
'E'
||
r
!=
'I'
||
r
!=
'O'
||
r
!=
'U'
))
{
mitad
++;
r
=
words
[
0
].
charAt
(
mitad
);
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
}
int
i
=
0
;
while
(
i
<=
mitad
)
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
int
diff
=
10
-
mitad
;
diff
-=
1
;
txt
.
append
(
"-"
);
while
(
diff
!=
10
)
{
txt
.
append
(
" "
);
diff
++;
}
while
(
i
<
words
[
0
].
length
())
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
texto
=
txt
.
toString
();
}
}
return
texto
;
}
/**
* @param context
* @param bitmap Bitmap to add the legend and rescale
* @param picto
* @return the bitmap scaled and with the legend or without changes
*/
private
static
Bitmap
set_legend
(
Context
context
,
Bitmap
bitmap
,
Picto
picto
)
{
{
Paint
paint
=
new
Paint
(
Paint
.
ANTI_ALIAS_FLAG
);
int
width
=
bitmap
.
getWidth
();
//Ancho original
int
height
=
bitmap
.
getHeight
();
//Alto original
String
texto
=
format_legend
(
picto
);
if
(
picto
.
get_legend
().
equals
(
"normal"
))
{
//Normal legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
Bitmap
bm
=
Bitmap
.
createScaledBitmap
(
bitmap
,
width
/
2
,
height
/
2
,
false
);
canvas
.
drawColor
(
Color
.
TRANSPARENT
,
PorterDuff
.
Mode
.
CLEAR
);
//Poner en blanco el bitmap original para dibujar encima
canvas
.
drawBitmap
(
bm
,
25
,
0
,
paint
);
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
50
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setBackgroundColor
(
Color
.
WHITE
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
4
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
50
,
null
);
}
else
{
//Only legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
paint
.
setColor
(
Color
.
WHITE
);
canvas
.
drawRect
(
0
,
0
,
100
,
100
,
paint
);
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
0
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
2
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
25
,
null
);
}
}
return
bitmap
;
}
public
static
View
getPictoView
(
Picto
picto
,
View
convertView
,
ViewGroup
parent
)
{
public
static
View
getPictoView
(
Picto
picto
,
View
convertView
,
ViewGroup
parent
)
{
return
getPictoView
(
picto
,
convertView
,
parent
,
false
);
return
getPictoView
(
picto
,
convertView
,
parent
,
false
);
}
}
...
@@ -68,7 +201,13 @@ public class PictoItemViewGenerator {
...
@@ -68,7 +201,13 @@ public class PictoItemViewGenerator {
}
}
try
{
try
{
pictoImage
.
setImageBitmap
(
picto
.
get_bitmap
(
PCBcontext
.
getContext
()));
Bitmap
bm
=
picto
.
get_bitmap
(
PCBcontext
.
getContext
());
if
(!
picto
.
get_legend
().
equals
(
"none"
))
{
bm
=
set_legend
(
PCBcontext
.
getContext
(),
bm
,
picto
);
}
pictoImage
.
setImageBitmap
(
bm
);
if
(!
picto
.
is_invisible
()
||
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_supervisor
())
{
if
(!
picto
.
is_invisible
()
||
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_supervisor
())
{
layoutWrapper
.
setVisibility
(
View
.
VISIBLE
);
layoutWrapper
.
setVisibility
(
View
.
VISIBLE
);
pictoImage
.
setVisibility
(
View
.
VISIBLE
);
pictoImage
.
setVisibility
(
View
.
VISIBLE
);
...
@@ -95,7 +234,7 @@ public class PictoItemViewGenerator {
...
@@ -95,7 +234,7 @@ public class PictoItemViewGenerator {
mirror_color
++;
mirror_color
++;
pictoImage
.
setScaleX
(
scale
[
mirror_color
%
scale
.
length
]);
pictoImage
.
setScaleX
(
scale
[
mirror_color
%
scale
.
length
]);
pictoImage
.
setScaleY
(
scale
[
mirror_color
%
scale
.
length
]);
pictoImage
.
setScaleY
(
scale
[
mirror_color
%
scale
.
length
]);
//
layout.setBackgroundColor(color[mirror_color%color.length]);
if
(
picto
.
is_highlight_background
())
layout
.
setBackgroundColor
(
color
[
mirror_color
%
color
.
length
]);
}
}
}
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
...
...
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictogramActivity.java
View file @
56cb8903
...
@@ -132,7 +132,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -132,7 +132,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
public
void
action
(
action
action
,
int
picto_cat
,
int
picto_id
)
{
public
void
action
(
action
action
,
int
picto_cat
,
int
picto_id
)
{
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
action
+
" from "
+
picto_cat
+
","
+
picto_id
+
" catched"
);
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
action
+
" from "
+
picto_cat
+
","
+
picto_id
+
" catched"
);
Picto
picto
=
vocabulary
.
get_picto
(
picto_cat
,
picto_id
);
Picto
picto
=
vocabulary
.
get_picto
(
picto_cat
,
picto_id
);
PictogramActivity
.
this
.
execHighligthFeeback
(
picto
);
PictogramActivity
.
this
.
execHighligthFeeback
(
picto
,
true
);
}
}
});
});
this
.
vocabulary
.
setImgDownloaderListener
(
new
iImgDownloaderListener
()
{
this
.
vocabulary
.
setImgDownloaderListener
(
new
iImgDownloaderListener
()
{
...
@@ -724,12 +724,13 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -724,12 +724,13 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
if
(
PictogramActivity
.
this
.
feedback_read
)
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
if
(
p
!=
null
&&
p
.
get_id
()
!=
0
&&
!
p
.
is_invisible
()
&&
p
.
is_enabled
())
{
if
(
p
!=
null
&&
p
.
get_id
()
!=
0
&&
!
p
.
is_invisible
()
&&
p
.
is_enabled
())
{
Log
.
d
(
LOG_TAG
,
"Clic en picto: "
+
p
.
toString
());
Log
.
d
(
LOG_TAG
,
"Clic en picto: "
+
p
.
toString
());
p
.
set_mirror
(
false
);
if
(
PictogramActivity
.
this
.
feedback_read
&&
!
p
.
is_category
())
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
p
.
set_mirror
(
false
,
false
);
LinkedList
<
Picto
>
ll
=
sort
(
PCBcontext
.
getVocabulary
().
next
(
p
));
LinkedList
<
Picto
>
ll
=
sort
(
PCBcontext
.
getVocabulary
().
next
(
p
));
//LinkedList<Picto> ll = vocabulary.next(p);
//LinkedList<Picto> ll = vocabulary.next(p);
Log
.
d
(
LOG_TAG
,
"Lista de pictos recuperada: "
+
ll
.
toString
());
Log
.
d
(
LOG_TAG
,
"Lista de pictos recuperada: "
+
ll
.
toString
());
...
@@ -754,18 +755,18 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -754,18 +755,18 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
showPictoMainGridView
();
showPictoMainGridView
();
PCBcontext
.
getActionLog
().
log
(
new
TalkAction
(
TalkAction
.
ADD
,
p
));
PCBcontext
.
getActionLog
().
log
(
new
TalkAction
(
TalkAction
.
ADD
,
p
));
if
(
PictogramActivity
.
this
.
feedback_read
)
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
if
(
PictogramActivity
.
this
.
feedback_read
)
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
if
(
PictogramActivity
.
this
.
feedback_highlight
)
execHighligthFeeback
(
p
);
if
(
PictogramActivity
.
this
.
feedback_highlight
)
execHighligthFeeback
(
p
,
false
);
}
}
private
void
execHighligthFeeback
(
final
Picto
picto
)
{
private
void
execHighligthFeeback
(
final
Picto
picto
,
boolean
highlight_background
)
{
boolean
same_picto
=
false
;
boolean
same_picto
=
false
;
picto
.
set_mirror
(
true
);
//comienza feedback
picto
.
set_mirror
(
true
,
highlight_background
);
//comienza feedback
if
(
exec_mirror
!=
null
)
{
//se cancela ejecución del feedbcack anterior, si lo hay
if
(
exec_mirror
!=
null
)
{
//se cancela ejecución del feedbcack anterior, si lo hay
exec_mirror
.
shutdown
();
exec_mirror
.
shutdown
();
exec_mirror
=
null
;
exec_mirror
=
null
;
}
}
if
(
prev_picto
!=
null
)
{
//se cancela marca de feedback del anterior, si lo hay
if
(
prev_picto
!=
null
)
{
//se cancela marca de feedback del anterior, si lo hay
prev_picto
.
set_mirror
(
false
);
prev_picto
.
set_mirror
(
false
,
false
);
same_picto
=
prev_picto
==
picto
;
same_picto
=
prev_picto
==
picto
;
}
}
if
(
same_picto
)
if
(
same_picto
)
...
@@ -781,7 +782,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -781,7 +782,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
public
void
run
()
{
public
void
run
()
{
refresh
();
refresh
();
if
(
repeating
++
==
20
)
{
if
(
repeating
++
==
20
)
{
picto
.
set_mirror
(
false
);
picto
.
set_mirror
(
false
,
false
);
if
(
exec_mirror
!=
null
)
{
if
(
exec_mirror
!=
null
)
{
exec_mirror
.
shutdown
();
exec_mirror
.
shutdown
();
exec_mirror
=
null
;
exec_mirror
=
null
;
...
...
sails/src/assets/scripts/modules/student/views/pictoconfig.html
View file @
56cb8903
...
@@ -39,16 +39,39 @@
...
@@ -39,16 +39,39 @@
-->
-->
<li
class=
"list-group-item"
>
<li
class=
"list-group-item"
>
<label
translate
>
legend
</label>
<div
class=
"row"
>
<div
class=
"checkbox"
>
<div
class=
"col-md-12"
>
<select
class=
"form-control"
data-toggle=
"toggle"
ng-model=
"studentPicto.attributes.legend"
ng-change=
"update_properties()"
>
<label
translate
>
legend
</label><br/>
<option
value=
"none"
selected
>
Sin leyenda
</option>
<!-- <div class="checkbox">
<option
value=
"normal"
>
Leyenda normal
</option>
<select class="form-control" data-toggle="toggle" ng-model="studentPicto.attributes.legend" ng-change="update_properties()">
<option
value=
"full"
>
Solo leyenda
</option>
<option value="none" selected>Sin leyenda</option>
</select>
<option value="normal">Leyenda normal</option>
<option value="full">Solo leyenda</option>
</select>
</div> -->
<input
type=
"radio"
ng-model=
"studentPicto.attributes.legend"
value=
"none"
ng-change=
"update_properties()"
>
Sin leyenda
<br/>
<input
type=
"radio"
ng-model=
"studentPicto.attributes.legend"
value=
"normal"
ng-change=
"update_properties()"
>
Leyenda normal
<br/>
<input
type=
"radio"
ng-model=
"studentPicto.attributes.legend"
value=
"full"
ng-change=
"update_properties()"
>
Solo leyenda
</div>
</div>
<hr>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<input
type=
"checkbox"
>
Aplicar a todos los pictogramas
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group text-center"
>
<button
type=
"submit"
class=
"btn btn-primary ng-scope"
ng-click=
""
>
Aplicar
</button>
</div>
</div>
</div>
</div>
</li>
</li>
</ul>
</ul>
</div>
</div>
<!-- End modal-body -->
<!-- End modal-body -->
...
...
sails/src/assets/scripts/modules/student/views/setup.html
View file @
56cb8903
...
@@ -45,7 +45,8 @@
...
@@ -45,7 +45,8 @@
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<select
class=
"form-control"
name=
"student_gender"
id=
"student_gender"
ng-model=
"formUser.gender"
required
>
<select
class=
"form-control"
name=
"student_gender"
id=
"student_gender"
ng-model=
"formUser.gender"
required
>
<option
value=
"F"
selected
translate
>
woman
</option>
<option
value=
" "
>
&nsp;
</option>
<option
value=
"F"
translate
>
woman
</option>
<option
value=
"M"
translate
>
man
</option>
<option
value=
"M"
translate
>
man
</option>
</select>
</select>
</div>
</div>
...
@@ -59,7 +60,7 @@
...
@@ -59,7 +60,7 @@
</div>
</div>
</fieldset>
</fieldset>
<fieldset>
<fieldset
ng-if=
"studentData.supervision != 1"
>
<legend
translate
>
notes
</legend>
<legend
translate
>
notes
</legend>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<textarea
class=
"form-control"
name=
"student_notes"
id=
"student_notes"
ng-model=
"formUser.notes"
rows=
"5"
></textarea>
<textarea
class=
"form-control"
name=
"student_notes"
id=
"student_notes"
ng-model=
"formUser.notes"
rows=
"5"
></textarea>
...
@@ -87,7 +88,7 @@
...
@@ -87,7 +88,7 @@
<!-- Parte derecha: Tutores y dispositivos -->
<!-- Parte derecha: Tutores y dispositivos -->
<div
class=
"col-md-6"
>
<div
class=
"col-md-6"
>
<!-- Supervisores (terapeutas) del alumno -->
<!-- Supervisores (terapeutas) del alumno -->
<div
id=
"student_sups"
>
<div
id=
"student_sups"
ng-if=
"studentData.supervision != 1"
>
<h3
translate
>
supervisors
</h3>
<h3
translate
>
supervisors
</h3>
<!-- Buscador de supervisores -->
<!-- Buscador de supervisores -->
<p>
<p>
...
@@ -127,7 +128,7 @@
...
@@ -127,7 +128,7 @@
<!-- Fin de id student-sups -->
<!-- Fin de id student-sups -->
<!-- Tutores (Padres) -->
<!-- Tutores (Padres) -->
<div
id=
"student_tutors"
>
<div
id=
"student_tutors"
ng-if=
"studentData.supervision != 1"
>
<h3>
{{ 'tutors' | translate }}
</h3>
<h3>
{{ 'tutors' | translate }}
</h3>
<!-- Buscador de tutores -->
<!-- Buscador de tutores -->
<p>
<p>
...
...
sails/src/assets/scripts/modules/supervisor/views/students.html
View file @
56cb8903
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<!-- Add Student button and Search row -->
<!-- Add Student button and Search row -->
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-xs-3"
>
<div
class=
"col-xs-3"
>
<p
class=
"text-left"
ng-hide=
"!user.isSupAdmin || !
num_licenses_left || !
hidestudentadd"
>
<p
class=
"text-left"
ng-hide=
"!user.isSupAdmin || !hidestudentadd"
>
<a
ng-click=
"resetForm(); hidestudentadd = false"
class=
"btn btn-success btn-sm"
role=
"button"
>
<a
ng-click=
"resetForm(); hidestudentadd = false"
class=
"btn btn-success btn-sm"
role=
"button"
>
<span
class=
"glyphicon glyphicon-plus"
aria-hidden=
"true"
></span>
{{ 'add_student' | translate }}
<span
class=
"glyphicon glyphicon-plus"
aria-hidden=
"true"
></span>
{{ 'add_student' | translate }}
</a>
</a>
...
@@ -60,9 +60,8 @@
...
@@ -60,9 +60,8 @@
<span
class=
"btn btn-default btn-lg"
role=
"button"
alt=
"{{ 'reports' | translate}}"
popover=
"{{ 'reports' | translate}}"
popover-trigger=
"mouseenter"
ng-if=
"student.supervision == 1"
><span
class=
"glyphicon glyphicon-file"
aria-hidden=
"true"
style=
"color: #bbb"
></span></span>
<span
class=
"btn btn-default btn-lg"
role=
"button"
alt=
"{{ 'reports' | translate}}"
popover=
"{{ 'reports' | translate}}"
popover-trigger=
"mouseenter"
ng-if=
"student.supervision == 1"
><span
class=
"glyphicon glyphicon-file"
aria-hidden=
"true"
style=
"color: #bbb"
></span></span>
<a
class=
"btn btn-default btn-lg"
role=
"button"
href=
"/app/#/student/{{student.id}}/setup"
alt=
"{{ 'setup' | translate}}"
popover=
"{{ 'setup' | translate}}"
popover-trigger=
"mouseenter"
ng-if=
"student.supervision != 1"
><span
class=
"glyphicon glyphicon-cog"
aria-hidden=
"true"
></span></a>
<a
class=
"btn btn-default btn-lg"
role=
"button"
href=
"/app/#/student/{{student.id}}/setup"
alt=
"{{ 'setup' | translate}}"
popover=
"{{ 'setup' | translate}}"
popover-trigger=
"mouseenter"
><span
class=
"glyphicon glyphicon-cog"
aria-hidden=
"true"
></span></a>
<span
class=
"btn btn-default btn-lg"
role=
"button"
alt=
"{{ 'setup' | translate}}"
popover=
"{{ 'setup' | translate}}"
popover-trigger=
"mouseenter"
ng-if=
"student.supervision == 1"
><span
class=
"glyphicon glyphicon-cog"
aria-hidden=
"true"
style=
"color: #bbb"
></span></span>
</td>
<!-- /BUTTONS -->
</td>
<!-- /BUTTONS -->
<td>
<td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment