wxExtend/valhex_8h_source.html

190 lines
19 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wxExtend: include/wxex/valhex.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">wxExtend
</div>
<div id="projectbrief">Additional templates and function helpers for wxWidgets</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_2fafa5ce03815a2bdea8d271fa718211.html">wxex</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">valhex.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> SPDX-License-Identifier: GPL-3.0-or-later</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Copyright © 2015-2022 Amebis</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> Copyright © 2016 GÉANT</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">*/</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;common.h&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;codeanalysis\warnings.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#pragma warning(push)</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;wx/valnum.h&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="foldopen" id="foldopen00023" data-start="{" data-end="};">
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="group__wx_extend.html#ga622fca47d51f7ca515ad58f4390b07a4"> 23</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__wx_extend.html#ga622fca47d51f7ca515ad58f4390b07a4">wxHexValidatorStyle</a></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>{</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Do not use values used by wxNumValidatorStyle flags, since this is the extension.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> wxNUM_VAL_HEX_LOWERCASE = 0x1000,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>};</div>
</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#ifdef __VISUALC__</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">// non dll-interface class &#39;xxx&#39; used as base for dll-interface class &#39;yyy&#39;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#pragma warning (push)</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#pragma warning (disable:4275)</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="};">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="classwx_hex_validator_base.html"> 39</a></span><span class="keyword">class </span><a class="code hl_define" href="group__wx_extend.html#ga624ae3515d39396935a077c6cc0a4d64">WXEXTEND_API</a> <a class="code hl_class" href="classwx_hex_validator_base.html">wxHexValidatorBase</a> : <span class="keyword">public</span> wxIntegerValidatorBase</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>{</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_class" href="classwx_hex_validator_base.html">wxHexValidatorBase</a>(<span class="keywordtype">int</span> style);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_class" href="classwx_hex_validator_base.html">wxHexValidatorBase</a>(<span class="keyword">const</span> <a class="code hl_class" href="classwx_hex_validator_base.html">wxHexValidatorBase</a>&amp; other);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">bool</span> IsMinusOk(<span class="keyword">const</span> wxString&amp; val, <span class="keywordtype">int</span> pos) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> FromString(<span class="keyword">const</span> wxString&amp; s, <span class="keywordtype">long</span> *value);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> FromString(<span class="keyword">const</span> wxString &amp;s, wxLongLong_t *value);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> wxString ToString(LongestValueType value) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> DoSetWidth(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width) { m_width = width; }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsCharOk(<span class="keyword">const</span> wxString&amp; val, <span class="keywordtype">int</span> pos, wxChar ch) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_width; </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>};</div>
</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#ifdef __VISUALC__</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#pragma warning(pop)</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00099" data-start="{" data-end="};">
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classwx_hex_validator.html"> 99</a></span><span class="keyword">class </span><a class="code hl_class" href="classwx_hex_validator.html">wxHexValidator</a> : <span class="keyword">public</span> wxPrivate::wxNumValidator&lt;wxHexValidatorBase, T&gt;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>{</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classwx_hex_validator.html#a7b669b54bc0886cb30cb1a5ca0de6dd5"> 102</a></span> <span class="keyword">typedef</span> wxPrivate::wxNumValidator&lt;wxHexValidatorBase, T&gt; <a class="code hl_typedef" href="classwx_hex_validator.html#a7b669b54bc0886cb30cb1a5ca0de6dd5">Base</a>; </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="foldopen" id="foldopen00107" data-start="{" data-end="}">
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classwx_hex_validator.html#a4711978845cd232b14ee4ed1076218c6"> 107</a></span> <a class="code hl_function" href="classwx_hex_validator.html#a4711978845cd232b14ee4ed1076218c6">wxHexValidator</a>(T *value = NULL, <span class="keywordtype">int</span> style = wxNUM_VAL_DEFAULT, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width = 0) : <a class="code hl_typedef" href="classwx_hex_validator.html#a7b669b54bc0886cb30cb1a5ca0de6dd5">Base</a>(value, style)</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> this-&gt;DoSetWidth(width);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> this-&gt;DoSetMin(std::numeric_limits&lt;T&gt;::min());</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> this-&gt;DoSetMax(std::numeric_limits&lt;T&gt;::max());</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> }</div>
</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classwx_hex_validator.html#a9a77f62ea37dab9638b04737ed41aca2"> 117</a></span> <span class="keyword">virtual</span> wxObject *<a class="code hl_function" href="classwx_hex_validator.html#a9a77f62ea37dab9638b04737ed41aca2">Clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code hl_function" href="classwx_hex_validator.html#a4711978845cd232b14ee4ed1076218c6">wxHexValidator</a>(*<span class="keyword">this</span>); }</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> wxDECLARE_NO_ASSIGN_CLASS(<a class="code hl_class" href="classwx_hex_validator.html">wxHexValidator</a>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span>};</div>
</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="ttc" id="aclasswx_hex_validator_base_html"><div class="ttname"><a href="classwx_hex_validator_base.html">wxHexValidatorBase</a></div><div class="ttdoc">Base class for hexadecimal validator.</div><div class="ttdef"><b>Definition</b> valhex.h:40</div></div>
<div class="ttc" id="aclasswx_hex_validator_html"><div class="ttname"><a href="classwx_hex_validator.html">wxHexValidator</a></div><div class="ttdoc">Validator for hexadecimal entries.</div><div class="ttdef"><b>Definition</b> valhex.h:100</div></div>
<div class="ttc" id="aclasswx_hex_validator_html_a4711978845cd232b14ee4ed1076218c6"><div class="ttname"><a href="classwx_hex_validator.html#a4711978845cd232b14ee4ed1076218c6">wxHexValidator::wxHexValidator</a></div><div class="ttdeci">wxHexValidator(T *value=NULL, int style=wxNUM_VAL_DEFAULT, unsigned int width=0)</div><div class="ttdoc">Constructs new hexadecimal validator.</div><div class="ttdef"><b>Definition</b> valhex.h:107</div></div>
<div class="ttc" id="aclasswx_hex_validator_html_a7b669b54bc0886cb30cb1a5ca0de6dd5"><div class="ttname"><a href="classwx_hex_validator.html#a7b669b54bc0886cb30cb1a5ca0de6dd5">wxHexValidator::Base</a></div><div class="ttdeci">wxPrivate::wxNumValidator&lt; wxHexValidatorBase, T &gt; Base</div><div class="ttdoc">Base class type.</div><div class="ttdef"><b>Definition</b> valhex.h:102</div></div>
<div class="ttc" id="aclasswx_hex_validator_html_a9a77f62ea37dab9638b04737ed41aca2"><div class="ttname"><a href="classwx_hex_validator.html#a9a77f62ea37dab9638b04737ed41aca2">wxHexValidator::Clone</a></div><div class="ttdeci">virtual wxObject * Clone() const</div><div class="ttdoc">Clones this validator.</div><div class="ttdef"><b>Definition</b> valhex.h:117</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga622fca47d51f7ca515ad58f4390b07a4"><div class="ttname"><a href="group__wx_extend.html#ga622fca47d51f7ca515ad58f4390b07a4">wxHexValidatorStyle</a></div><div class="ttdeci">wxHexValidatorStyle</div><div class="ttdoc">Bit masks used for hexadecimal validator styles.</div><div class="ttdef"><b>Definition</b> valhex.h:24</div></div>
<div class="ttc" id="agroup__wx_extend_html_ga624ae3515d39396935a077c6cc0a4d64"><div class="ttname"><a href="group__wx_extend.html#ga624ae3515d39396935a077c6cc0a4d64">WXEXTEND_API</a></div><div class="ttdeci">#define WXEXTEND_API</div><div class="ttdoc">Public function calling convention.</div><div class="ttdef"><b>Definition</b> common.h:56</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Mar 11 2024 14:56:54 for wxExtend by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
</small></address>
</body>
</html>