Skip to content

Commit 5d500f5

Browse files
committed
dialog v9.1.0
1 parent a79453d commit 5d500f5

File tree

75 files changed

+418
-280
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+418
-280
lines changed

docs/dialog/changelog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
### 2026.02.05 [v9.1.0]
2+
3+
```
4+
feat(ios,android): add colour picker dialog for user colour selection (resolves https://github.com/distriqt/ANE-Dialog/issues/297)
5+
```
6+
17
### 2024.12.16 [v9.0.0]
28

39
```

docs/dialog/colour-picker.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: Colour Picker
3+
---
4+
5+
![](images/colour-picker.png)
6+
7+
The colour picker dialog presents a UI that allows the user to select a colour on a spectrum.
8+
9+
Colour pickers are created using an `ColourPickerDialogBuilder`.
10+
11+
```actionscript
12+
var builder:ColourPickerDialogBuilder = new ColourPickerDialogBuilder()
13+
.setTitle( "Select a colour" )
14+
.addOption( "Select", DialogAction.STYLE_POSITIVE )
15+
.addOption( "Cancel", DialogAction.STYLE_CANCEL );
16+
17+
var picker:DialogView = Dialog.service.create( builder.build() );
18+
picker.addEventListener( DialogViewEvent.CLOSED, colourPicker_closedHandler );
19+
picker.show();
20+
21+
22+
function colourPicker_closedHandler( event:DialogViewEvent ):void
23+
{
24+
var picker:DialogView = DialogView( event.currentTarget );
25+
picker.removeEventListener( DialogViewEvent.CLOSED, colourPicker_closedHandler );
26+
picker.dispose();
27+
28+
// Returns a hex string in #RGBA format eg #FF0000FF
29+
var hexString:String = event.values[0];
30+
}
31+
```
32+
33+
34+
## Initial Colour
35+
36+
You can set the initial colour shown in the dialog by passing an ARGB integer to the `setInitialColour()` method on the builder.
37+
38+
For example to set the initial colour to red:
39+
40+
```actionscript
41+
builder.setInitialColour( 0xFF0000 );
42+
```
43+
44+
45+
46+
## Alpha
47+
48+
You can allow the user to set the transparency of the colour by enabling alpha support:
49+
50+
```actionscript
51+
builder.supportsAlpha( true );
52+
```
53+
54+
This will display an addition slider bar for the user to select the transparency.
55+
56+
57+
![](images/colour-picker-alpha.png)
58+
59+
60+
61+
62+
## Helpers
63+
64+
### Conversion
65+
66+
You can easily convert the returned colour hex string to an `int` by using something like the following function:
67+
68+
```actionscript
69+
function rgbaHexToARGBInt( hex:String ):uint
70+
{
71+
hex = hex.replace( /^#/, "" );
72+
if (hex.length == 8)
73+
{
74+
var v:uint = parseInt( hex, 16 ); // RRGGBBAA
75+
var a:uint = v & 0xFF; // AA
76+
var rgb:uint = v >>> 8; // 00RRGGBB
77+
return (a << 24) | rgb; // AARRGGBB
78+
}
79+
else if (hex.length == 6)
80+
{
81+
return 0xFF000000 | parseInt( hex, 16 ); // assume fully opaque
82+
}
83+
throw new Error( "Invalid hex format" );
84+
}
85+
```
116 KB
Loading
111 KB
Loading

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1143,6 +1143,7 @@ module.exports = {
11431143
"dialog/activity-dialog",
11441144
"dialog/custom-picker",
11451145
"dialog/date-time-dialog",
1146+
"dialog/colour-picker",
11461147
],
11471148
},
11481149
{

static/asdocs/dialog/all-classes.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html>
22
<head>
33
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4-
<title>All Classes - distriqt // Dialog</title>
4+
<title>All Classes - Dialog</title>
55
<base target="classFrame">
66
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
77
<link rel="stylesheet" href="print.css" type="text/css" media="print">
@@ -22,6 +22,9 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
2222
<tr>
2323
<td><a href="com/distriqt/extension/dialog/AutoCapitalisationType.html" title="com.distriqt.extension.dialog.AutoCapitalisationType">AutoCapitalisationType</a></td>
2424
</tr>
25+
<tr>
26+
<td><a href="com/distriqt/extension/dialog/builders/ColourPickerDialogBuilder.html" title="com.distriqt.extension.dialog.builders.ColourPickerDialogBuilder">ColourPickerDialogBuilder</a></td>
27+
</tr>
2528
<tr>
2629
<td><a href="com/distriqt/extension/dialog/builders/DateTimeDialogBuilder.html" title="com.distriqt.extension.dialog.builders.DateTimeDialogBuilder">DateTimeDialogBuilder</a></td>
2730
</tr>
@@ -94,4 +97,4 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
9497
</table>
9598
</body>
9699
</html>
97-
<!--Copyright distriqt 2016<br/>Mon Dec 16 2024, 03:28 PM +10:00 -->
100+
<!--Copyright Michael Archbold 2025<br/>Thu Feb 5 2026, 09:41 PM +10:00 -->

static/asdocs/dialog/all-index-A.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>A </title><link rel="stylesheet" href="style.css" type="text/css" media="screen"><link rel="stylesheet" href="print.css" type="text/css" media="print"><link rel="stylesheet" href="override.css" type="text/css"></head><body><script language="javascript" type="text/javascript" src="asdoc.js"></script><script language="javascript" type="text/javascript" src="help.js"></script><script language="javascript" type="text/javascript" src="cookies.js"></script><script language="javascript" type="text/javascript"><!--
2-
asdocTitle = 'A Index - distriqt // Dialog';
2+
asdocTitle = 'A Index - Dialog';
33
var baseRef = '';
44
window.onload = configPage;
55
--></script>
66
<script type="text/javascript">
77
scrollToNameAnchor();
8-
</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">distriqt // Dialog Native Extension Documentation</td><td class="titleTableTopNav" align="right"><a href="package-summary.html" onclick="loadClassListFrame('all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="class-summary.html" onclick="loadClassListFrame('all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a id="framesLink1" href="index.html?all-index-A.html&amp;index-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="images/logo.jpg" class="logoImage" alt=" Adobe Logo " title=" Adobe Logo "></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">A&nbsp;Index</td><td class="titleTableSubNav" id="subNav" align="right"></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
8+
</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">Dialog Native Extension Documentation</td><td class="titleTableTopNav" align="right"><a href="package-summary.html" onclick="loadClassListFrame('all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="class-summary.html" onclick="loadClassListFrame('all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a id="framesLink1" href="index.html?all-index-A.html&amp;index-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="images/logo.jpg" class="logoImage" alt=" Adobe Logo " title=" Adobe Logo "></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">A&nbsp;Index</td><td class="titleTableSubNav" id="subNav" align="right"></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
99
<!--
1010

1111
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("A Index"); titleBar_setSubNav(false,false,false,false,false,false,false,false,false,false,false ,false,false,false,false,false);}
@@ -24,6 +24,7 @@
2424

2525
Add a column to the picker.</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/dialog/builders/AlertBuilder.html#addOption()" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">addOption</a>(label:String, style:int, index:int) &mdash; method, class com.distriqt.extension.dialog.builders.<a href="com/distriqt/extension/dialog/builders/AlertBuilder.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">AlertBuilder</a></td></tr><tr><td width="20"></td><td>
2626

27+
Add an option / action / button to the dialog to allow a user selection.</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/dialog/builders/ColourPickerDialogBuilder.html#addOption()" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">addOption</a>(label:String, style:int, index:int) &mdash; method, class com.distriqt.extension.dialog.builders.<a href="com/distriqt/extension/dialog/builders/ColourPickerDialogBuilder.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">ColourPickerDialogBuilder</a></td></tr><tr><td width="20"></td><td>
2728
Add an option / action / button to the dialog to allow a user selection.</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/dialog/builders/TextViewAlertBuilder.html#addOption()" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">addOption</a>(label:String, style:int, index:int) &mdash; method, class com.distriqt.extension.dialog.builders.<a href="com/distriqt/extension/dialog/builders/TextViewAlertBuilder.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">TextViewAlertBuilder</a></td></tr><tr><td width="20"></td><td>
2829

2930
Add an option / action / button to the dialog to allow a user selection.</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/dialog/builders/AlertBuilder.html#addTextField()" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">addTextField</a>(text:String, placeholder:String, isSecure:Boolean, keyboardType:int, autoFocus:Boolean, autoCapitalisation:int, autoCorrect:Boolean) &mdash; method, class com.distriqt.extension.dialog.builders.<a href="com/distriqt/extension/dialog/builders/AlertBuilder.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/dialog/builders/class-list.html');">AlertBuilder</a></td></tr><tr><td width="20"></td><td>
@@ -44,4 +45,4 @@
4445

4546
The autoScale feature allows you to specify position and size based
4647
on the devices dip which will automatically scale the popover
47-
based on the device display resolution.</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://distriqt.com" target="_top">distriqt</a> 2016</footer><br/>Mon Dec 16 2024, 03:28 PM +10:00 </center></div></body></html><!--Copyright distriqt 2016<br/>Mon Dec 16 2024, 03:28 PM +10:00 -->
48+
based on the device display resolution.</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://michaelarchbold.com" target="_top">Michael Archbold</a> 2025</footer><br/>Thu Feb 5 2026, 09:41 PM +10:00 </center></div></body></html><!--Copyright Michael Archbold 2025<br/>Thu Feb 5 2026, 09:41 PM +10:00 -->

0 commit comments

Comments
 (0)