Compare commits
91 Commits
Author | SHA1 | Date | |
---|---|---|---|
79ec083650 | |||
be1874cc8c | |||
e3a59d1118 | |||
9d633b384f | |||
e419dc6914 | |||
11d7e9cf8a | |||
3f951d9d24 | |||
30f289123f | |||
bbfb70f711 | |||
2cb4713f9b | |||
06644a4d2e | |||
fc5f225a8c | |||
5c50d5305c | |||
dde7026aec | |||
f6a4ef27e6 | |||
3c2e59b56c | |||
22acac44f1 | |||
13cd778359 | |||
fcfe641d5c | |||
11638bb2b4 | |||
bac7475aa7 | |||
bc4651495a | |||
c5836536e4 | |||
d5593edd00 | |||
fe31be5466 | |||
ee8591f6eb | |||
c64632b85f | |||
f3e208572f | |||
5fa66f625d | |||
45598f8ef8 | |||
c22a5dd294 | |||
c98e3b1ac8 | |||
7a891d945b | |||
728b24a44a | |||
28fa7a3d1f | |||
1a6899ed39 | |||
d115b5bd9f | |||
7f600693c2 | |||
fb0277dbfb | |||
c30b44bd80 | |||
ed20e872e9 | |||
23f8c36900 | |||
bfa23771d9 | |||
306e91b3f6 | |||
a159be498b | |||
5905beb49b | |||
a87cb05ddc | |||
a798474bdc | |||
45e847702e | |||
958a4228b5 | |||
704b97944d | |||
5a912ebcc6 | |||
1b11ccf4a2 | |||
acb6ccfb53 | |||
d6445e458e | |||
a49b49c3b0 | |||
b161059855 | |||
321e1c389e | |||
50d97c2154 | |||
312ceb56cd | |||
37eae89d67 | |||
732f180117 | |||
e506b2dec6 | |||
c3d1178bb1 | |||
393f41e523 | |||
e86165bb8e | |||
1b5739aa34 | |||
196687e7aa | |||
5fee79707d | |||
c9e1657427 | |||
d80f24189d | |||
aa39edfe90 | |||
8f15d96aea | |||
e353a2ed60 | |||
5ff1a95df2 | |||
eb33a877d1 | |||
a57c87aaaa | |||
f3d174884c | |||
e3390f9a2f | |||
a6b34f122d | |||
7f31e51fb0 | |||
a7ea95bc9b | |||
8f748c8c17 | |||
525f24674e | |||
636e7acc1b | |||
05627f98d6 | |||
90a48ae7ce | |||
c22865524d | |||
dee95d7d6c | |||
b644d08eac | |||
3e96043e88 |
39
.github/workflows/main.yml
vendored
Normal file
39
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: Doxygen Action
|
||||
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Doxygen Action
|
||||
uses: mattnotmitt/doxygen-action@v1.1.0
|
||||
with:
|
||||
# Path to Doxyfile
|
||||
doxyfile-path: "./Doxyfile" # default is ./Doxyfile
|
||||
# Working directory
|
||||
working-directory: "." # default is .
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Default Doxyfile build documentation to html directory.
|
||||
# Change the directory if changes in Doxyfile
|
||||
publish_dir: ./doc/html
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,5 @@
|
||||
/*.opensdf
|
||||
/*.suo
|
||||
/*.sdf
|
||||
/.vs
|
||||
/doc
|
||||
/ipch
|
||||
|
@ -1,29 +1,21 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 2016 GÉANT
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
# ZRCola is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# ZRCola is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Copyright © 1991-2022 Amebis
|
||||
# Copyright © 2016 GÉANT
|
||||
|
||||
!INCLUDE "..\..\..\include\MSIBuildCfg.mak"
|
||||
!INCLUDE "..\..\..\include\$(PKG)MSIBuildCfg.mak"
|
||||
|
||||
!IFNDEF MSIBUILD_LANGID
|
||||
!ERROR Parameter MSIBUILD_LANGID is undefined.
|
||||
!ENDIF
|
||||
|
||||
!IFNDEF MSIBUILD_PLAT_GUID
|
||||
!ERROR Parameter MSIBUILD_PLAT_GUID is undefined.
|
||||
!ENDIF
|
||||
|
||||
!IFNDEF MSIBUILD_LANG_GUID
|
||||
!ERROR Parameter MSIBUILD_LANG_GUID is undefined.
|
||||
!ENDIF
|
||||
|
||||
!IFNDEF WXEXTEND_BIN_DIR
|
||||
!ERROR Parameter WXEXTEND_BIN_DIR is undefined.
|
||||
!ENDIF
|
||||
@ -36,108 +28,18 @@
|
||||
######################################################################
|
||||
# Component
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).Component-1.idt"
|
||||
All :: "$(PKG)$(LANG).$(PLAT).$(CFG).Component-1.idt"
|
||||
|
||||
"$(LANG).$(PLAT).$(CFG).Component-1.idt" : "Makefile" "..\..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
"$(PKG)$(LANG).$(PLAT).$(CFG).Component-1.idt" : "Makefile" "..\..\..\include\$(PKG)MSIBuildCfg.mak"
|
||||
move /y << $@ > NUL
|
||||
Component ComponentId Directory_ Attributes Condition KeyPath
|
||||
s$(MSIBUILD_LENGTH_ID) S38 s$(MSIBUILD_LENGTH_ID) i2 S255 S$(MSIBUILD_LENGTH_ID)
|
||||
Component Component
|
||||
!IFNDEF WXEXTEND_STATIC
|
||||
!IF "$(PLAT)" == "Win32"
|
||||
compwxExtend.dll.Win32 {37C6943E-B5D0-4C22-B039-29FEE015D0E8} $(WXEXTEND_BIN_DIR) 0 filewxExtend.dll.Win32
|
||||
wxExtend.dll.$(PLAT) {8D93D165-26AE-4066-9FB$(MSIBUILD_PLAT_GUID)-C37349BCEBAF} $(WXEXTEND_BIN_DIR) $(MSIBUILD_COMPONENT_ATTRIB_FILE) wxExtend.dll.$(PLAT)
|
||||
!ENDIF
|
||||
!IF "$(PLAT)" == "x64"
|
||||
compwxExtend.dll.x64 {F323428B-B329-4492-943C-0F2387C80DC9} $(WXEXTEND_BIN_DIR) 256 filewxExtend.dll.x64
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "bg_BG"
|
||||
compwxExtend.mo.bg_BG {CF5725EF-F683-4673-8523-5502B57C0C9F} WXEXTENDLOCBGBGDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.bg_BG
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ca_ES"
|
||||
compwxExtend.mo.ca_ES {80493A96-C77A-4F92-8B3E-35BE9127EBBE} WXEXTENDLOCCAESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ca_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cs_CZ"
|
||||
compwxExtend.mo.cs_CZ {EECC383F-CBFF-4675-ABB9-16D77AD25D5C} WXEXTENDLOCCSCZDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cs_CZ
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cy_UK"
|
||||
compwxExtend.mo.cy_UK {9601C64F-4C99-4F2D-95CA-F2DF150F1982} WXEXTENDLOCCYUKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cy_UK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "de_DE"
|
||||
compwxExtend.mo.de_DE {9C3D448E-E6F3-45B9-BFF9-8E12A7B5AB53} WXEXTENDLOCDEDEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.de_DE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "el_GR"
|
||||
compwxExtend.mo.el_GR {51A8EA7F-709F-4C3B-A94D-3BEC3899C80B} WXEXTENDLOCELGRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.el_GR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "es_ES"
|
||||
compwxExtend.mo.es_ES {D11A4B09-D9CF-4350-8B26-D9CF117E2980} WXEXTENDLOCESESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.es_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "eu_ES"
|
||||
compwxExtend.mo.eu_ES {C93CEE38-3602-4FF2-8319-6125F91EE03C} WXEXTENDLOCEUESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.eu_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fi_FI"
|
||||
compwxExtend.mo.fi_FI {6F6F463B-7013-4453-8224-6AEA6B2EBDBC} WXEXTENDLOCFIFIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fi_FI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_CA"
|
||||
compwxExtend.mo.fr_CA {39D0AB42-9AB6-45FB-990F-5525D1004332} WXEXTENDLOCFRCADIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_CA
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_FR"
|
||||
compwxExtend.mo.fr_FR {5E68D9D9-AAF3-4194-9675-2C484A3B5E7C} WXEXTENDLOCFRFRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_FR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "gl_ES"
|
||||
compwxExtend.mo.gl_ES {CA353D77-B09A-4588-AF5E-A0B2E3742B1B} WXEXTENDLOCGLESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.gl_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hr_HR"
|
||||
compwxExtend.mo.hr_HR {F096E922-C060-49A1-81F0-A5FEC68F3873} WXEXTENDLOCHRHRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hr_HR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hu_HU"
|
||||
compwxExtend.mo.hu_HU {8B377B6C-5B05-4D7C-B1F5-7A40E2BB7BD4} WXEXTENDLOCHUHUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hu_HU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "is_IS"
|
||||
compwxExtend.mo.is_IS {10C23840-30DE-4014-9F82-80FAC55243D2} WXEXTENDLOCISISDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.is_IS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "it_IT"
|
||||
compwxExtend.mo.it_IT {C5733B34-3315-44BC-B568-F6EDEDD6EA92} WXEXTENDLOCITITDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.it_IT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ko_KR"
|
||||
compwxExtend.mo.ko_KR {668C27C4-C799-46B4-A8D7-DB4C2E5DBCBC} WXEXTENDLOCKOKRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ko_KR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "lt_LT"
|
||||
compwxExtend.mo.lt_LT {3EEECA40-96BB-4F14-9E4F-2B4176D849A5} WXEXTENDLOCLTLTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.lt_LT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nb_NO"
|
||||
compwxExtend.mo.nb_NO {5CC24C7D-E928-4CAB-BA91-EB4D11BC2A4B} WXEXTENDLOCNBNODIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nb_NO
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nl_NL"
|
||||
compwxExtend.mo.nl_NL {8E9F03EF-E808-4AB8-B136-CC2622E29BD1} WXEXTENDLOCNLNLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nl_NL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pl_PL"
|
||||
compwxExtend.mo.pl_PL {F7994ACB-60DD-4722-8E8E-65B071664A78} WXEXTENDLOCPLPLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pl_PL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pt_PT"
|
||||
compwxExtend.mo.pt_PT {3157094C-A5A7-420D-AB47-80A721560DED} WXEXTENDLOCPTPTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pt_PT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ru_RU"
|
||||
compwxExtend.mo.ru_RU {3B4C86C3-ABFF-4272-B8E4-2E9B59DC7867} WXEXTENDLOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sk_SK"
|
||||
compwxExtend.mo.sk_SK {6E14CF20-6D82-4A23-9FED-E68C1C2FC92A} WXEXTENDLOCSKSKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sk_SK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sl_SI"
|
||||
compwxExtend.mo.sl_SI {E970685D-7997-40C9-A95C-95F1204BD534} WXEXTENDLOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sl_SI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sr_RS"
|
||||
compwxExtend.mo.sr_RS {74E368AA-79B0-407D-9A05-E42002300EE7} WXEXTENDLOCSRRSDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sr_RS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sv_SE"
|
||||
compwxExtend.mo.sv_SE {084986BC-EB55-4BA3-B8E5-FF0714F1C8A3} WXEXTENDLOCSVSEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sv_SE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "tr_TR"
|
||||
compwxExtend.mo.tr_TR {519F85E4-8B31-42EF-BCDD-9B3B907C0762} WXEXTENDLOCTRTRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.tr_TR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "vi_VN"
|
||||
compwxExtend.mo.vi_VN {738F9C8C-2084-4003-91EA-55CA4B851343} WXEXTENDLOCVIVNDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.vi_VN
|
||||
!IF "$(LANG)" != "en_US"
|
||||
wxExtend.mo.$(LANG) {08F3D750-73F1-4D53-$(MSIBUILD_LANG_GUID)-4F4C5AFF24C1} WXEXTENDLOC$(MSIBUILD_LANG_GUID)DIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) wxExtend.mo.$(LANG)
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
@ -145,100 +47,15 @@ compwxExtend.mo.vi_VN {738F9C8C-2084-4003-91EA-55CA4B851343} WXEXTENDLOCVIVNDIR
|
||||
######################################################################
|
||||
# Directory
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).Directory-1.idt"
|
||||
All :: "$(PKG)$(LANG).$(PLAT).$(CFG).Directory-1.idt"
|
||||
|
||||
"$(LANG).$(PLAT).$(CFG).Directory-1.idt" : "Makefile" "..\..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
"$(PKG)$(LANG).$(PLAT).$(CFG).Directory-1.idt" : "Makefile" "..\..\..\include\$(PKG)MSIBuildCfg.mak"
|
||||
move /y << $@ > NUL
|
||||
Directory Directory_Parent DefaultDir
|
||||
s$(MSIBUILD_LENGTH_ID) S$(MSIBUILD_LENGTH_ID) l255
|
||||
Directory Directory
|
||||
!IF "$(LANG)" == "bg_BG"
|
||||
WXEXTENDLOCBGBGDIR $(WXEXTEND_LOC_DIR) bg_BG
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ca_ES"
|
||||
WXEXTENDLOCCAESDIR $(WXEXTEND_LOC_DIR) ca_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cs_CZ"
|
||||
WXEXTENDLOCCSCZDIR $(WXEXTEND_LOC_DIR) cs_CZ
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cy_UK"
|
||||
WXEXTENDLOCCYUKDIR $(WXEXTEND_LOC_DIR) cy_UK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "de_DE"
|
||||
WXEXTENDLOCDEDEDIR $(WXEXTEND_LOC_DIR) de_DE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "el_GR"
|
||||
WXEXTENDLOCELGRDIR $(WXEXTEND_LOC_DIR) el_GR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "es_ES"
|
||||
WXEXTENDLOCESESDIR $(WXEXTEND_LOC_DIR) es_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "eu_ES"
|
||||
WXEXTENDLOCEUESDIR $(WXEXTEND_LOC_DIR) eu_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fi_FI"
|
||||
WXEXTENDLOCFIFIDIR $(WXEXTEND_LOC_DIR) fi_FI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_CA"
|
||||
WXEXTENDLOCFRCADIR $(WXEXTEND_LOC_DIR) fr_CA
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_FR"
|
||||
WXEXTENDLOCFRFRDIR $(WXEXTEND_LOC_DIR) fr_FR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "gl_ES"
|
||||
WXEXTENDLOCGLESDIR $(WXEXTEND_LOC_DIR) gl_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hr_HR"
|
||||
WXEXTENDLOCHRHRDIR $(WXEXTEND_LOC_DIR) hr_HR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hu_HU"
|
||||
WXEXTENDLOCHUHUDIR $(WXEXTEND_LOC_DIR) hu_HU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "is_IS"
|
||||
WXEXTENDLOCISISDIR $(WXEXTEND_LOC_DIR) is_IS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "it_IT"
|
||||
WXEXTENDLOCITITDIR $(WXEXTEND_LOC_DIR) it_IT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ko_KR"
|
||||
WXEXTENDLOCKOKRDIR $(WXEXTEND_LOC_DIR) ko_KR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "lt_LT"
|
||||
WXEXTENDLOCLTLTDIR $(WXEXTEND_LOC_DIR) lt_LT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nb_NO"
|
||||
WXEXTENDLOCNBNODIR $(WXEXTEND_LOC_DIR) nb_NO
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nl_NL"
|
||||
WXEXTENDLOCNLNLDIR $(WXEXTEND_LOC_DIR) nl_NL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pl_PL"
|
||||
WXEXTENDLOCPLPLDIR $(WXEXTEND_LOC_DIR) pl_PL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pt_PT"
|
||||
WXEXTENDLOCPTPTDIR $(WXEXTEND_LOC_DIR) pt_PT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ru_RU"
|
||||
WXEXTENDLOCRURUDIR $(WXEXTEND_LOC_DIR) ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sk_SK"
|
||||
WXEXTENDLOCSKSKDIR $(WXEXTEND_LOC_DIR) sk_SK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sl_SI"
|
||||
WXEXTENDLOCSLSIDIR $(WXEXTEND_LOC_DIR) sl_SI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sr_RS"
|
||||
WXEXTENDLOCSRRSDIR $(WXEXTEND_LOC_DIR) sr_RS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sv_SE"
|
||||
WXEXTENDLOCSVSEDIR $(WXEXTEND_LOC_DIR) sv_SE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "tr_TR"
|
||||
WXEXTENDLOCTRTRDIR $(WXEXTEND_LOC_DIR) tr_TR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "vi_VN"
|
||||
WXEXTENDLOCVIVNDIR $(WXEXTEND_LOC_DIR) vi_VN
|
||||
!IF "$(LANG)" != "en_US"
|
||||
WXEXTENDLOC$(MSIBUILD_LANG_GUID)DIR $(WXEXTEND_LOC_DIR) $(LANG)
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
@ -246,10 +63,9 @@ WXEXTENDLOCVIVNDIR $(WXEXTEND_LOC_DIR) vi_VN
|
||||
######################################################################
|
||||
# File
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).File-1.idt"
|
||||
All :: "$(PKG)$(LANG).$(PLAT).$(CFG).File-1.idt"
|
||||
|
||||
"$(LANG).$(PLAT).$(CFG).File-1.idt" : "Makefile" "..\..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
"$(PKG)$(LANG).$(PLAT).$(CFG).File-1.idt" : "Makefile" "..\..\..\include\$(PKG)MSIBuildCfg.mak"
|
||||
move /y << $@ > NUL
|
||||
File Component_ FileName FileSize Version Language Attributes Sequence
|
||||
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
|
||||
@ -257,23 +73,31 @@ File File
|
||||
!IFNDEF WXEXTEND_STATIC
|
||||
!IF "$(PLAT)" == "Win32"
|
||||
!IF "$(CFG)" == "Release"
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~2.DLL|wxExtend14u_vc100.dll 0 0 1536 1
|
||||
wxExtend.dll.Win32 wxExtend.dll.Win32 WXEXTE~2.DLL|wxExtend15u_vc100.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!IF "$(CFG)" == "Debug"
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~4.DLL|wxExtend14ud_vc100.dll 0 0 1536 1
|
||||
wxExtend.dll.Win32 wxExtend.dll.Win32 WXEXTE~4.DLL|wxExtend15ud_vc100.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(PLAT)" == "x64"
|
||||
!IF "$(CFG)" == "Release"
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~6.DLL|wxExtend14u_vc100_x64.dll 0 0 1536 1
|
||||
wxExtend.dll.x64 wxExtend.dll.x64 WXEXTE~6.DLL|wxExtend15u_vc100_x64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!IF "$(CFG)" == "Debug"
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~8.DLL|wxExtend14ud_vc100_x64.dll 0 0 1536 1
|
||||
wxExtend.dll.x64 wxExtend.dll.x64 WXEXTE~8.DLL|wxExtend15ud_vc100_x64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(PLAT)" == "ARM64"
|
||||
!IF "$(CFG)" == "Release"
|
||||
wxExtend.dll.ARM64 wxExtend.dll.ARM64 WXEXTE~8.DLL|wxExtend15u_vc100_arm64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!IF "$(CFG)" == "Debug"
|
||||
wxExtend.dll.ARM64 wxExtend.dll.ARM64 WXEXT~10.DLL|wxExtend15ud_vc100_arm64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(LANG)" != "en_US"
|
||||
filewxExtend.mo.$(LANG) compwxExtend.mo.$(LANG) WXEXTE~1.MO|wxExtend14.mo 0 $(MSIBUILD_LANGID) 0 1
|
||||
wxExtend.mo.$(LANG) wxExtend.mo.$(LANG) WXEXTE~1.MO|wxExtend15.mo 0 $(MSIBUILD_LANGID) 0 1
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
|
48
README.md
Normal file
48
README.md
Normal file
@ -0,0 +1,48 @@
|
||||
# wxExtend
|
||||
|
||||
Provides additional classes for wxWidgets
|
||||
|
||||
## Building
|
||||
|
||||
Requires:
|
||||
- Microsoft Visual Studio 2017-2019
|
||||
- `..\..\include` folder with the following files to customize building process for individual applications (optional):
|
||||
- `Debug.props`
|
||||
- `Release.props`
|
||||
- `ARM64.props`
|
||||
- `x64.props`
|
||||
- `Win32.props`
|
||||
- wxWidgets with `%WXWIN%` environment pointing to its root. Build wxWidgets with:
|
||||
|
||||
```bat
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
|
||||
cd /d "%WXWIN%\build\msw"
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X86 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X86 COMPILER_VERSION=142 BUILD=release
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=X86 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=X86 COMPILER_VERSION=142 BUILD=release
|
||||
```
|
||||
|
||||
```bat
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cd /d "%WXWIN%\build\msw"
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X64 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X64 COMPILER_VERSION=142 BUILD=release
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=X64 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=X64 COMPILER_VERSION=142 BUILD=release
|
||||
```
|
||||
|
||||
```bat
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat"
|
||||
cd /d "%WXWIN%\build\msw"
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=ARM64 USE_OPENGL=0 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=ARM64 USE_OPENGL=0 COMPILER_VERSION=142 BUILD=release
|
||||
nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=ARM64 USE_OPENGL=0 COMPILER_VERSION=142 && nmake /f makefile.vc /ls RUNTIME_LIBS=dynamic SHARED=0 TARGET_CPU=ARM64 USE_OPENGL=0 COMPILER_VERSION=142 BUILD=release
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
1. Clone the repository into your solution folder.
|
||||
2. Add the appropriate `build\wxExtend<variant>.vcxproj` to your solution.
|
||||
3. Add wxExtend's `include` folder to _Additional Include Directories_ in your project's C/C++ settings.
|
||||
4. Add a new reference to wxExtend project from your project's common properties.
|
||||
5. Include `.h` files from wxExtend as needed.
|
||||
|
||||
An auto-generated documentation is [here](http://amebis.github.io/wxExtend/).
|
||||
|
||||
More examples and use-cases can be found in [GÉANTLink](https://github.com/Amebis/GEANTLink) and [ZRCola](https://github.com/Amebis/ZRCola) projects source code. They make use of this library.
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<wxExtendVersion>14</wxExtendVersion>
|
||||
<wxExtendVersion>15</wxExtendVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir>..\..\..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
@ -13,8 +13,71 @@
|
||||
</POCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="wxExtendVersion">
|
||||
<Value>$(wxExtendVersion)</Value>
|
||||
</BuildMacro>
|
||||
<ClCompile Include="..\src\appbar.cpp" />
|
||||
<ClCompile Include="..\src\comutils.cpp" />
|
||||
<ClCompile Include="..\src\crypto.cpp" />
|
||||
<ClCompile Include="..\src\framemanager.cpp" />
|
||||
<ClCompile Include="..\src\hex.cpp" />
|
||||
<ClCompile Include="..\src\pch.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\tlwgeom.cpp" />
|
||||
<ClCompile Include="..\src\url.cpp" />
|
||||
<ClCompile Include="..\src\valhex.cpp" />
|
||||
<ClCompile Include="..\src\valnet.cpp" />
|
||||
<ClCompile Include="..\src\xml.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\wxex\appbar.h" />
|
||||
<ClInclude Include="..\include\wxex\aui\framemanager.h" />
|
||||
<ClInclude Include="..\include\wxex\common.h" />
|
||||
<ClInclude Include="..\include\wxex\comutils.h" />
|
||||
<ClInclude Include="..\include\wxex\crypto.h" />
|
||||
<ClInclude Include="..\include\wxex\hex.h" />
|
||||
<ClInclude Include="..\include\wxex\object.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\toplevel.h" />
|
||||
<ClInclude Include="..\include\wxex\private\tlwgeom.h" />
|
||||
<ClInclude Include="..\include\wxex\url.h" />
|
||||
<ClInclude Include="..\include\wxex\valhex.h" />
|
||||
<ClInclude Include="..\include\wxex\valnet.h" />
|
||||
<ClInclude Include="..\include\wxex\xml.h" />
|
||||
<ClInclude Include="..\src\pch.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\et_EE.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\ro_RO.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WXEXTEND_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
@ -1,161 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\appbar.cpp" />
|
||||
<ClCompile Include="..\src\comutils.cpp" />
|
||||
<ClCompile Include="..\src\crypto.cpp" />
|
||||
<ClCompile Include="..\src\hex.cpp" />
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp" />
|
||||
<ClCompile Include="..\src\valhex.cpp" />
|
||||
<ClCompile Include="..\src\valnet.cpp" />
|
||||
<ClCompile Include="..\src\xml.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\wxex\appbar.h" />
|
||||
<ClInclude Include="..\include\wxex\common.h" />
|
||||
<ClInclude Include="..\include\wxex\comutils.h" />
|
||||
<ClInclude Include="..\include\wxex\crypto.h" />
|
||||
<ClInclude Include="..\include\wxex\hex.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h" />
|
||||
<ClInclude Include="..\include\wxex\url.h" />
|
||||
<ClInclude Include="..\include\wxex\valhex.h" />
|
||||
<ClInclude Include="..\include\wxex\valnet.h" />
|
||||
<ClInclude Include="..\include\wxex\xml.h" />
|
||||
<ClInclude Include="..\src\stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A3A36689-AC35-4026-93DA-A3BA0C0E767C}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)_$(Platform)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)_$(Platform)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A3A36689-AC35-4026-93DA-A3BA0C0E767C}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Debug'">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Release'">
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Platform)'=='ARM64'">
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\$(Platform).props" />
|
||||
<Import Project="..\..\..\include\$(Configuration).props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)_x64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)_arm64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)_x64</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<TargetName>$(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)_arm64</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WXMAKINGDLL_WXEXTEND;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,190 +1,220 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\aui">
|
||||
<UniqueIdentifier>{be99b1e7-e013-4c69-8966-6b34932a1711}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\private">
|
||||
<UniqueIdentifier>{e7ddefe0-5d58-4fda-943c-717689ad974c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pch.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\framemanager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\tlwgeom.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pch.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\aui\framemanager.h">
|
||||
<Filter>Header Files\aui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\private\tlwgeom.h">
|
||||
<Filter>Header Files\private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\toplevel.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\ro_RO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\et_EE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup />
|
||||
</Project>
|
@ -1,154 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\appbar.cpp" />
|
||||
<ClCompile Include="..\src\comutils.cpp" />
|
||||
<ClCompile Include="..\src\crypto.cpp" />
|
||||
<ClCompile Include="..\src\hex.cpp" />
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp" />
|
||||
<ClCompile Include="..\src\valhex.cpp" />
|
||||
<ClCompile Include="..\src\valnet.cpp" />
|
||||
<ClCompile Include="..\src\xml.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\wxex\appbar.h" />
|
||||
<ClInclude Include="..\include\wxex\common.h" />
|
||||
<ClInclude Include="..\include\wxex\comutils.h" />
|
||||
<ClInclude Include="..\include\wxex\crypto.h" />
|
||||
<ClInclude Include="..\include\wxex\hex.h" />
|
||||
<ClInclude Include="..\include\wxex\object.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h" />
|
||||
<ClInclude Include="..\include\wxex\url.h" />
|
||||
<ClInclude Include="..\include\wxex\valhex.h" />
|
||||
<ClInclude Include="..\include\wxex\valnet.h" />
|
||||
<ClInclude Include="..\include\wxex\xml.h" />
|
||||
<ClInclude Include="..\src\stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{D3E29951-D9F5-486D-A167-20AE8E90B1FA}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<PropertyGroup />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{D3E29951-D9F5-486D-A167-20AE8E90B1FA}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Debug'">
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Release'">
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Platform)'=='ARM64'">
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\$(Platform).props" />
|
||||
<Import Project="..\..\..\include\$(Configuration).props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,193 +1,215 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\aui">
|
||||
<UniqueIdentifier>{be99b1e7-e013-4c69-8966-6b34932a1711}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\private">
|
||||
<UniqueIdentifier>{e7ddefe0-5d58-4fda-943c-717689ad974c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pch.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\framemanager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\tlwgeom.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pch.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\aui\framemanager.h">
|
||||
<Filter>Header Files\aui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\private\tlwgeom.h">
|
||||
<Filter>Header Files\private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\toplevel.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\ro_RO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\et_EE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,41 +1,44 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
Based on code written by Jeffrey Richter.
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/dialog.h>
|
||||
#include <wx/frame.h>
|
||||
#include <wx/string.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
#include <Windows.h>
|
||||
#include <Windowsx.h>
|
||||
#include <shellapi.h>
|
||||
#include <ShlObj.h>
|
||||
|
||||
|
||||
#define wxABT_AUTOHIDETIMERID 1
|
||||
#define wxABT_AUTOHIDETIME 300
|
||||
#define wxABT_AUTOHIDETIMERINTERVAL 3000
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer ID
|
||||
///
|
||||
#define wxABT_AUTOHIDETIMERID 1
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer timeout
|
||||
///
|
||||
#define wxABT_AUTOHIDETIME 300
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer interval
|
||||
///
|
||||
#define wxABT_AUTOHIDETIMERINTERVAL 3000
|
||||
|
||||
///
|
||||
/// Posted to notify application bar about system changes
|
||||
@ -43,7 +46,7 @@
|
||||
/// \param[in] wParam Event identifier. One of the following values
|
||||
/// - ABN_FULLSCREENAPP Notifies an appbar when a full-screen application is opening or closing. \p lParam is boolean flag specifying whether a full-screen application is opening or closing. This parameter is TRUE if the application is opening or FALSE if it is closing.
|
||||
/// - ABN_POSCHANGED Notifies an appbar when an event has occurred that may affect the appbar's size and position. Events include changes in the taskbar's size, position, and visibility state, as well as the addition, removal, or resizing of another appbar on the same side of the screen. \p lParam is not used.
|
||||
/// - ABN_STATECHANGE Notifies an appbar that the taskbar's autohide or always-on-top state has changed—that is, the user has selected or cleared the "Always on top" or "Auto hide" check box on the taskbar's property sheet. \p lParam is not used.
|
||||
/// - ABN_STATECHANGE Notifies an appbar that the taskbar's autohide or always-on-top state has changed—that is, the user has selected or cleared the "Always on top" or "Auto hide" check box on the taskbar's property sheet. \p lParam is not used.
|
||||
/// \param[in] lParam Event specific. See \p wParam for details.
|
||||
///
|
||||
#define WM_AB_NOTIFY 0x6f00
|
||||
@ -52,46 +55,44 @@
|
||||
///
|
||||
/// Dockable application bar states
|
||||
///
|
||||
enum wxAppBarState {
|
||||
wxABS_UNKNOWN = -2,
|
||||
wxABS_FLOAT = -1, ///< Application bar is floating on the desktop (normal window)
|
||||
wxABS_LEFT = ABE_LEFT, ///< Application bar is docked at the left edge of the desktop
|
||||
wxABS_TOP = ABE_TOP, ///< Application bar is docked at the top edge of the desktop
|
||||
wxABS_RIGHT = ABE_RIGHT, ///< Application bar is docked at the right edge of the desktop
|
||||
wxABS_BOTTOM = ABE_BOTTOM, ///< Application bar is docked at the bottom edge of the desktop
|
||||
enum class wxAppBarState {
|
||||
UNKNOWN = -2,
|
||||
FLOAT = -1, ///< Application bar is floating on the desktop (normal window)
|
||||
LEFT = ABE_LEFT, ///< Application bar is docked at the left edge of the desktop
|
||||
TOP = ABE_TOP, ///< Application bar is docked at the top edge of the desktop
|
||||
RIGHT = ABE_RIGHT, ///< Application bar is docked at the right edge of the desktop
|
||||
BOTTOM = ABE_BOTTOM, ///< Application bar is docked at the bottom edge of the desktop
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// Dockable application bar flags
|
||||
///
|
||||
enum wxAppBarFlags {
|
||||
wxABF_ALLOWFLOAT = 1 << 0, ///< Is floating application bar allowed?
|
||||
wxABF_ALLOWDOCKTOP = 1 << 1, ///< Is docking on top of the screen allowed?
|
||||
wxABF_ALLOWDOCKBOTTOM = 1 << 2, ///< Is docking on bottom of the screen allowed?
|
||||
wxABF_ALLOWDOCKLEFT = 1 << 3, ///< Is docking left of the screen allowed?
|
||||
wxABF_ALLOWDOCKRIGHT = 1 << 4, ///< Is docking right of the screen allowed?
|
||||
wxABF_ALLOWDOCKANY = (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM | wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT), ///< Is docking at any edge of the screen allowed?
|
||||
wxABF_ALLOWDOCKHORIZONTAL = (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM), ///< Is docking on top or bottom of the screen allowed?
|
||||
wxABF_ALLOWDOCKVERTICAL = (wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT), ///< Is docking left or right of the screen allowed?
|
||||
wxABF_ALLOWANY = (wxABF_ALLOWFLOAT | wxABF_ALLOWDOCKANY), ///< Is floating and docking at any edge of the screen allowed?
|
||||
#define wxABF_ALLOWFLOAT (1 << 0) ///< Is floating application bar allowed?
|
||||
#define wxABF_ALLOWDOCKTOP (1 << 1) ///< Is docking on top of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKBOTTOM (1 << 2) ///< Is docking on bottom of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKLEFT (1 << 3) ///< Is docking left of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKRIGHT (1 << 4) ///< Is docking right of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKANY (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM | wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT) ///< Is docking at any edge of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKHORIZONTAL (wxABF_ALLOWDOCKTOP | wxABF_ALLOWDOCKBOTTOM) ///< Is docking on top or bottom of the screen allowed?
|
||||
#define wxABF_ALLOWDOCKVERTICAL (wxABF_ALLOWDOCKLEFT | wxABF_ALLOWDOCKRIGHT) ///< Is docking left or right of the screen allowed?
|
||||
#define wxABF_ALLOWANY (wxABF_ALLOWFLOAT | wxABF_ALLOWDOCKANY) ///< Is floating and docking at any edge of the screen allowed?
|
||||
|
||||
wxABF_ALWAYSONTOP = 1 << 5, ///< Is application bar always on top?
|
||||
wxABF_ALWAYSONTOPTASKBAR = 1 << 6, ///< Does application bar follow always on top state of the system taskbar?
|
||||
#define wxABF_ALWAYSONTOP (1 << 5) ///< Is application bar always on top?
|
||||
#define wxABF_ALWAYSONTOPTASKBAR (1 << 6) ///< Does application bar follow always on top state of the system taskbar?
|
||||
|
||||
wxABF_AUTOHIDE = 1 << 7, ///< Is application bar setup for auto-hide?
|
||||
wxABF_AUTOHIDETASKBAR = 1 << 8, ///< Does application bar follow auto-hide state of the system taskbar?
|
||||
#define wxABF_AUTOHIDE (1 << 7) ///< Is application bar setup for auto-hide?
|
||||
#define wxABF_AUTOHIDETASKBAR (1 << 8) ///< Does application bar follow auto-hide state of the system taskbar?
|
||||
|
||||
wxABF_ALLOWSIZING = 1 << 9, ///< Is application bar's sizing allowed?
|
||||
#define wxABF_ALLOWSIZING (1 << 9) ///< Is application bar's sizing allowed?
|
||||
|
||||
wxABF_HIDETASKBARTABWHENFLOATING = 1 << 10, ///< Should application bar's tab on the system taskbar hide when floating?
|
||||
wxABF_HIDETASKBARTABWHENDOCKED = 1 << 11, ///< Should application bar's tab on the system taskbar hide when docked?
|
||||
wxABF_ALWAYSHIDETASKBARTAB = (wxABF_HIDETASKBARTABWHENFLOATING | wxABF_HIDETASKBARTABWHENDOCKED), ///< Should application bar's tab on the system taskbar hide always?
|
||||
#define wxABF_HIDETASKBARTABWHENFLOATING (1 << 10) ///< Should application bar's tab on the system taskbar hide when floating?
|
||||
#define wxABF_HIDETASKBARTABWHENDOCKED (1 << 11) ///< Should application bar's tab on the system taskbar hide when docked?
|
||||
#define wxABF_ALWAYSHIDETASKBARTAB (wxABF_HIDETASKBARTABWHENFLOATING | wxABF_HIDETASKBARTABWHENDOCKED) ///< Should application bar's tab on the system taskbar hide always?
|
||||
|
||||
// Internal flags
|
||||
wxABF_FULLSCREENAPPOPEN = 1 << 12, ///< Is full-screen application open?
|
||||
wxABF_AUTOHIDDEN = 1 << 13, ///< Is application bar auto-hidden right now?
|
||||
};
|
||||
// Internal flags
|
||||
#define wxABF_FULLSCREENAPPOPEN (1 << 12) ///< Is full-screen application open?
|
||||
#define wxABF_AUTOHIDDEN (1 << 13) ///< Is application bar auto-hidden right now?
|
||||
|
||||
|
||||
///
|
||||
@ -100,16 +101,21 @@ enum wxAppBarFlags {
|
||||
template <class W>
|
||||
class wxAppBar : public W
|
||||
{
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates new application bar
|
||||
///
|
||||
wxAppBar();
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxAppBar();
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
void PreCreate(wxAppBarState& state, int& flags, const wxSize& size, long& style);
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
/// \name Application bar general management
|
||||
@ -182,7 +188,7 @@ public:
|
||||
///
|
||||
/// Minimize application bar to the edge of the desktop.
|
||||
///
|
||||
/// \param[in] edge The edge at which to dock. Must be either of: wxABS_LEFT, wxABS_TOP, wxABS_RIGHT, or wxABS_BOTTOM.
|
||||
/// \param[in] edge The edge at which to dock. Must be either of: wxAppBarState::LEFT, wxAppBarState::TOP, wxAppBarState::RIGHT, or wxAppBarState::BOTTOM.
|
||||
/// \param[in] wnd When the undocked and docked window is different, this parameter denotes the undocked version.
|
||||
///
|
||||
void MinimiseToEdge(wxAppBarState edge, wxWindow* wnd = NULL);
|
||||
@ -191,10 +197,15 @@ public:
|
||||
/// Restore application bar from the edge of the desktop.
|
||||
///
|
||||
/// \param[in] rect The desired coordinates of the restored window. If NULL internally saved coordinates are used.
|
||||
///
|
||||
void MaximiseFromEdge(_In_opt_ const RECT* rect = NULL);
|
||||
|
||||
///
|
||||
/// Restore application bar from the edge of the desktop.
|
||||
///
|
||||
/// \param[in] wnd When the undocked and docked window is different, this parameter denotes the undocked version.
|
||||
///
|
||||
void MaximiseFromEdge(const RECT* rect = NULL);
|
||||
void MaximiseFromEdge(wxWindow *wnd);
|
||||
void MaximiseFromEdge(_In_ wxWindow *wnd);
|
||||
|
||||
///
|
||||
/// Shows or hides auto-hide application bar.
|
||||
@ -251,23 +262,27 @@ protected:
|
||||
/// @}
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
virtual WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
inline bool DockAppBar(wxAppBarState state);
|
||||
inline bool UndockAppBar();
|
||||
inline bool RegisterAutoHide(wxAppBarState state);
|
||||
inline bool UnregisterAutoHide(wxAppBarState state);
|
||||
inline bool GetDockedRect(wxAppBarState state, LPRECT rect) const;
|
||||
inline bool GetAutoHideRect(wxAppBarState state, bool bAutoHidden, LPRECT rect) const;
|
||||
/// \cond internal
|
||||
inline _Success_(return != 0) bool DockAppBar(_In_ wxAppBarState state);
|
||||
inline _Success_(return != 0) bool UndockAppBar();
|
||||
inline _Success_(return != 0) bool RegisterAutoHide(_In_ wxAppBarState state);
|
||||
inline _Success_(return != 0) bool UnregisterAutoHide(_In_ wxAppBarState state);
|
||||
inline _Success_(return != 0) bool GetDockedRect(_In_ wxAppBarState state, _Out_ LPRECT rect) const;
|
||||
inline _Success_(return != 0) bool GetAutoHideRect(_In_ wxAppBarState state, _In_ bool bAutoHidden, _Out_ LPRECT rect) const;
|
||||
/// \endcond
|
||||
|
||||
protected:
|
||||
wxAppBarState m_state; ///< Current state of the application bar
|
||||
wxAppBarState m_stateDesired; ///< Desired state of the application bar while moving/resizing
|
||||
wxAppBarState m_state; ///< Current state of the application bar
|
||||
wxAppBarState m_stateDesired; ///< Desired state of the application bar while moving/resizing
|
||||
int m_flags; ///< Flags describing application bar's behaviour
|
||||
|
||||
SIZE m_sizeFloat; ///< Window size when floating (we need it to restore floating size, when we undock)
|
||||
SIZE m_sizeDocked; ///< Size of the window when docked (height when wxABS_TOP or wxABS_BOTTOM, width when wxABS_LEFT or wxABS_RIGHT)
|
||||
SIZE m_sizeDocked; ///< Size of the window when docked (height when wxAppBarState::TOP or wxAppBarState::BOTTOM, width when wxAppBarState::LEFT or wxAppBarState::RIGHT)
|
||||
SIZE m_sizeMin; ///< Minimum window size
|
||||
|
||||
UINT_PTR m_stateTaskBar; ///< TaskBar's current state
|
||||
@ -289,21 +304,31 @@ protected:
|
||||
class WXEXTEND_API wxAppBarFrame : public wxAppBar<wxFrame>
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
wxAppBarFrame();
|
||||
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
wxAppBarFrame(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
wxAppBarState state = wxABS_FLOAT,
|
||||
wxAppBarState state = wxAppBarState::FLOAT,
|
||||
int flags = wxABF_ALLOWANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxDEFAULT_FRAME_STYLE,
|
||||
const wxString& name = wxFrameNameStr);
|
||||
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
wxAppBarState state = wxABS_FLOAT,
|
||||
wxAppBarState state = wxAppBarState::FLOAT,
|
||||
int flags = wxABF_ALLOWANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
@ -318,21 +343,31 @@ public:
|
||||
class WXEXTEND_API wxAppBarDialog : public wxAppBar<wxDialog>
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
wxAppBarDialog();
|
||||
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
wxAppBarDialog(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
wxAppBarState state = wxABS_FLOAT,
|
||||
wxAppBarState state = wxAppBarState::FLOAT,
|
||||
int flags = wxABF_ALLOWANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxDEFAULT_DIALOG_STYLE,
|
||||
const wxString& name = wxDialogNameStr);
|
||||
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
wxAppBarState state = wxABS_FLOAT,
|
||||
wxAppBarState state = wxAppBarState::FLOAT,
|
||||
int flags = wxABF_ALLOWANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
@ -356,7 +391,7 @@ public:
|
||||
///
|
||||
inline bool wxAppBarIsDocked(wxAppBarState state)
|
||||
{
|
||||
return wxABS_LEFT <= state && state <= wxABS_BOTTOM;
|
||||
return wxAppBarState::LEFT <= state && state <= wxAppBarState::BOTTOM;
|
||||
}
|
||||
|
||||
|
||||
@ -371,7 +406,7 @@ inline bool wxAppBarIsDocked(wxAppBarState state)
|
||||
///
|
||||
inline bool wxAppBarIsDockedVert(wxAppBarState state)
|
||||
{
|
||||
return state == wxABS_LEFT || state == wxABS_RIGHT;
|
||||
return state == wxAppBarState::LEFT || state == wxAppBarState::RIGHT;
|
||||
}
|
||||
|
||||
|
||||
@ -386,7 +421,7 @@ inline bool wxAppBarIsDockedVert(wxAppBarState state)
|
||||
///
|
||||
inline bool wxAppBarIsDockedHoriz(wxAppBarState state)
|
||||
{
|
||||
return state == wxABS_TOP || state == wxABS_BOTTOM;
|
||||
return state == wxAppBarState::TOP || state == wxAppBarState::BOTTOM;
|
||||
}
|
||||
|
||||
|
||||
@ -412,7 +447,7 @@ inline WXHWND wxAppBarGetZWnd(wxAppBarState state, int flags)
|
||||
// return pThreadState->m_hTrackingWindow;
|
||||
// }
|
||||
|
||||
if (state == wxABS_FLOAT) {
|
||||
if (state == wxAppBarState::FLOAT) {
|
||||
// When floating, decide according to the flags.
|
||||
return (flags & wxABF_ALWAYSONTOP) ? HWND_TOPMOST : HWND_NOTOPMOST;
|
||||
} else if (wxAppBarIsDocked(state)) {
|
||||
@ -460,22 +495,27 @@ inline UINT_PTR wxAppBarGetTaskBarState()
|
||||
}
|
||||
|
||||
|
||||
/// @}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxAppBar
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <class W>
|
||||
void wxAppBar<W>::Init()
|
||||
wxAppBar<W>::wxAppBar() :
|
||||
m_state(wxAppBarState::UNKNOWN),
|
||||
m_stateDesired(wxAppBarState::UNKNOWN),
|
||||
m_flags(0),
|
||||
m_stateTaskBar(0),
|
||||
m_timerID(0),
|
||||
m_taskbarList(NULL)
|
||||
{
|
||||
m_taskbarList = NULL;
|
||||
m_timerID = 0;
|
||||
}
|
||||
|
||||
|
||||
template <class W>
|
||||
wxAppBar<W>::wxAppBar()
|
||||
{
|
||||
Init();
|
||||
m_sizeFloat .cx = -1;
|
||||
m_sizeFloat .cy = -1;
|
||||
m_sizeDocked.cx = -1;
|
||||
m_sizeDocked.cy = -1;
|
||||
m_sizeMin .cx = -1;
|
||||
m_sizeMin .cy = -1;
|
||||
}
|
||||
|
||||
|
||||
@ -487,6 +527,7 @@ wxAppBar<W>::~wxAppBar()
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
template <class W>
|
||||
void wxAppBar<W>::PreCreate(wxAppBarState& state, int& flags, const wxSize& size, long& style)
|
||||
{
|
||||
@ -502,11 +543,11 @@ void wxAppBar<W>::PreCreate(wxAppBarState& state, int& flags, const wxSize& size
|
||||
|
||||
// Save initial state and flags.
|
||||
m_state = state;
|
||||
m_stateDesired = wxABS_UNKNOWN;
|
||||
m_stateDesired = wxAppBarState::UNKNOWN;
|
||||
m_flags = flags;
|
||||
|
||||
// If any taskbar list tab's hiding is in affect, set application bar's style as tool window to avoid being displayed on the taskbar initially.
|
||||
if (state == wxABS_FLOAT) {
|
||||
if (state == wxAppBarState::FLOAT) {
|
||||
if (flags & wxABF_HIDETASKBARTABWHENFLOATING) {
|
||||
// Hide our application bar's entry on the Windows's taskbar.
|
||||
style |= wxFRAME_TOOL_WINDOW;
|
||||
@ -539,12 +580,13 @@ void wxAppBar<W>::PreCreate(wxAppBarState& state, int& flags, const wxSize& size
|
||||
} else
|
||||
wxFAIL_MSG(wxString::Format(wxT("TaskbarList creation failed 0x%x"), hr));
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
|
||||
template <class W>
|
||||
inline wxAppBarState wxAppBar<W>::GetState() const
|
||||
{
|
||||
return m_stateDesired != wxABS_UNKNOWN ? m_stateDesired : m_state;
|
||||
return m_stateDesired != wxAppBarState::UNKNOWN ? m_stateDesired : m_state;
|
||||
}
|
||||
|
||||
|
||||
@ -647,7 +689,7 @@ inline bool wxAppBar<W>::GetAutoHidden() const
|
||||
// if (lpPlacement->dwSize >= sizeof(APPBARPLACEMENT1)) {
|
||||
// lpPlacement->dwState = (DWORD)m_state;
|
||||
// lpPlacement->dwFlags = m_flags;
|
||||
// if (m_state == wxABS_FLOAT) {
|
||||
// if (m_state == wxAppBarState::FLOAT) {
|
||||
// // Current application bar's rect is floating rect.
|
||||
// lpPlacement->rcFloat = m_rect;
|
||||
// } else if (wxAppBarIsDocked(m_state)) {
|
||||
@ -675,25 +717,25 @@ inline bool wxAppBar<W>::GetAutoHidden() const
|
||||
// wxASSERT(lpPlacement);
|
||||
//
|
||||
// if (lpPlacement->dwSize >= sizeof(APPBARPLACEMENT1)) {
|
||||
// if (lpPlacement->dwState != wxABS_FLOAT && !wxAppBarIsDocked(lpPlacement->dwState)) {
|
||||
// if (lpPlacement->dwState != wxAppBarState::FLOAT && !wxAppBarIsDocked(lpPlacement->dwState)) {
|
||||
// // The state is unknown. Abort, before we mix up internal state.
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// // Clean previous docking/auto-hide settings if required.
|
||||
// if (wxAppBarIsDocked(m_state) &&
|
||||
// (lpPlacement->dwState == wxABS_FLOAT || lpPlacement->dwState != m_state && wxAppBarIsDocked(lpPlacement->dwState)))
|
||||
// (lpPlacement->dwState == wxAppBarState::FLOAT || lpPlacement->dwState != m_state && wxAppBarIsDocked(lpPlacement->dwState)))
|
||||
// {
|
||||
// if (IsAutoHide())
|
||||
// UnregisterAutoHide(m_state);
|
||||
// else if (lpPlacement->dwState == wxABS_FLOAT)
|
||||
// else if (lpPlacement->dwState == wxAppBarState::FLOAT)
|
||||
// UndockAppBar();
|
||||
// }
|
||||
//
|
||||
// // Update application bar's flags, size and position.
|
||||
// m_flags |= wxABF_POSITIONSET;
|
||||
// m_sizeDocked = lpPlacement->szDocked;
|
||||
// if (lpPlacement->dwState == wxABS_FLOAT) {
|
||||
// if (lpPlacement->dwState == wxAppBarState::FLOAT) {
|
||||
// m_rect = lpPlacement->rcFloat;
|
||||
// } else if (wxAppBarIsDocked(lpPlacement->dwState)) {
|
||||
// m_sizeFloat.cx = lpPlacement->rcFloat.right - lpPlacement->rcFloat.left;
|
||||
@ -734,7 +776,7 @@ void wxAppBar<W>::MinimiseToEdge(wxAppBarState edge, wxWindow *wnd)
|
||||
if (hWnd == m_hWnd && !::IsWindowVisible(m_hWnd))
|
||||
return;
|
||||
|
||||
if (m_state == wxABS_FLOAT) {
|
||||
if (m_state == wxAppBarState::FLOAT) {
|
||||
// Remember the last floating size.
|
||||
RECT rect = {};
|
||||
wxVERIFY(::GetWindowRect(hWnd, &rect));
|
||||
@ -781,7 +823,7 @@ void wxAppBar<W>::MinimiseToEdge(wxAppBarState edge, wxWindow *wnd)
|
||||
|
||||
|
||||
template <class W>
|
||||
void wxAppBar<W>::MaximiseFromEdge(const RECT* rect)
|
||||
void wxAppBar<W>::MaximiseFromEdge(_In_opt_ const RECT* rect)
|
||||
{
|
||||
wxASSERT(::IsWindowVisible(m_hWnd));
|
||||
|
||||
@ -816,15 +858,15 @@ void wxAppBar<W>::MaximiseFromEdge(const RECT* rect)
|
||||
}
|
||||
|
||||
// Notify about the change of state.
|
||||
OnChangeState(wxABS_FLOAT);
|
||||
m_state = wxABS_FLOAT;
|
||||
OnChangeState(wxAppBarState::FLOAT);
|
||||
m_state = wxAppBarState::FLOAT;
|
||||
|
||||
wxVERIFY(::SetWindowPos(m_hWnd, wxAppBarGetZWnd(wxABS_FLOAT, m_flags), rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED));
|
||||
wxVERIFY(::SetWindowPos(m_hWnd, wxAppBarGetZWnd(wxAppBarState::FLOAT, m_flags), rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED));
|
||||
}
|
||||
|
||||
|
||||
template <class W>
|
||||
void wxAppBar<W>::MaximiseFromEdge(wxWindow *wnd)
|
||||
void wxAppBar<W>::MaximiseFromEdge(_In_ wxWindow *wnd)
|
||||
{
|
||||
wxASSERT(wnd);
|
||||
wxASSERT(::IsWindowVisible(m_hWnd));
|
||||
@ -881,6 +923,9 @@ void wxAppBar<W>::ShowAutoHideAppBar(bool show)
|
||||
GetAutoHideRect(m_state, bHidden, &rcStart);
|
||||
|
||||
if (bFullDragOn && (rcStart.left != rcEnd.left || rcStart.top != rcEnd.top || rcStart.right != rcEnd.right || rcStart.bottom != rcEnd.bottom)) {
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 28159)
|
||||
|
||||
// Get our starting and ending time.
|
||||
DWORD dwTimeStart = ::GetTickCount();
|
||||
DWORD dwTimeElapsed;
|
||||
@ -904,6 +949,8 @@ void wxAppBar<W>::ShowAutoHideAppBar(bool show)
|
||||
wxVERIFY(::SetWindowPos(m_hWnd, NULL, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER | SWP_NOACTIVATE));
|
||||
wxVERIFY(::UpdateWindow(m_hWnd));
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
}
|
||||
}
|
||||
|
||||
@ -924,7 +971,7 @@ void wxAppBar<W>::ShowAutoHideAppBar(bool show)
|
||||
template <class W>
|
||||
void wxAppBar<W>::OnChangeState(wxAppBarState stateNew)
|
||||
{
|
||||
if (stateNew == wxABS_FLOAT) {
|
||||
if (stateNew == wxAppBarState::FLOAT) {
|
||||
if (m_flags & wxABF_HIDETASKBARTABWHENFLOATING) {
|
||||
// Hide our application bar's entry on the Windows's taskbar.
|
||||
wxModifyStyleEx(m_hWnd, 0, WS_EX_TOOLWINDOW);
|
||||
@ -993,6 +1040,7 @@ void wxAppBar<W>::OnAutoHideDenied()
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
template <class W>
|
||||
WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
{
|
||||
@ -1001,7 +1049,7 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
WXLRESULT lResult = W::MSWWindowProc(message, wParam, lParam);
|
||||
|
||||
// Register our application bar.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, WM_AB_NOTIFY, m_state };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, WM_AB_NOTIFY, static_cast<UINT>(m_state) };
|
||||
wxCHECK(::SHAppBarMessage(ABM_NEW, &abd), false);
|
||||
|
||||
// Get the state of the Windows taskbar.
|
||||
@ -1066,15 +1114,16 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
if (m_state != m_stateDesired && wxAppBarIsDocked(m_stateDesired)) {
|
||||
wxASSERT(lParam);
|
||||
LPWINDOWPOS lpwndpos = (LPWINDOWPOS)lParam;
|
||||
|
||||
// When about to get docked, fix position and size to avoid Aero Snap interfering with window size.
|
||||
RECT rect;
|
||||
GetDockedRect(m_stateDesired, &rect);
|
||||
lpwndpos->x = rect.left;
|
||||
lpwndpos->y = rect.top;
|
||||
lpwndpos->cx = rect.right - rect.left;
|
||||
lpwndpos->cy = rect.bottom - rect.top;
|
||||
lpwndpos->flags &= ~(SWP_NOMOVE | SWP_NOSIZE);
|
||||
if (lpwndpos) {
|
||||
// When about to get docked, fix position and size to avoid Aero Snap interfering with window size.
|
||||
RECT rect;
|
||||
GetDockedRect(m_stateDesired, &rect);
|
||||
lpwndpos->x = rect.left;
|
||||
lpwndpos->y = rect.top;
|
||||
lpwndpos->cx = rect.right - rect.left;
|
||||
lpwndpos->cy = rect.bottom - rect.top;
|
||||
lpwndpos->flags &= ~(SWP_NOMOVE | SWP_NOSIZE);
|
||||
}
|
||||
}
|
||||
|
||||
return W::MSWWindowProc(message, wParam, lParam);
|
||||
@ -1103,11 +1152,11 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
|
||||
// Clean previous docking/auto-hide settings if required.
|
||||
if (wxAppBarIsDocked(m_state) &&
|
||||
(m_stateDesired == wxABS_FLOAT || m_stateDesired != m_state && wxAppBarIsDocked(m_stateDesired)))
|
||||
(m_stateDesired == wxAppBarState::FLOAT || m_stateDesired != m_state && wxAppBarIsDocked(m_stateDesired)))
|
||||
{
|
||||
if (IsAutoHide())
|
||||
UnregisterAutoHide(m_state);
|
||||
else if (m_stateDesired == wxABS_FLOAT)
|
||||
else if (m_stateDesired == wxAppBarState::FLOAT)
|
||||
UndockAppBar();
|
||||
}
|
||||
|
||||
@ -1126,7 +1175,7 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
// Notify about the change of state.
|
||||
OnChangeState(m_stateDesired);
|
||||
m_state = m_stateDesired;
|
||||
m_stateDesired = wxABS_UNKNOWN;
|
||||
m_stateDesired = wxAppBarState::UNKNOWN;
|
||||
|
||||
return lResult;
|
||||
}
|
||||
@ -1143,11 +1192,11 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
DWORD dwPoint = ::GetMessagePos();
|
||||
wxPoint ptMouse(GET_X_LPARAM(dwPoint), GET_Y_LPARAM(dwPoint));
|
||||
|
||||
m_stateDesired = wxABS_UNKNOWN;
|
||||
m_stateDesired = wxAppBarState::UNKNOWN;
|
||||
|
||||
if ((m_flags & wxABF_ALLOWFLOAT) && (::GetKeyState(VK_CONTROL) < 0 || !(m_flags & wxABF_ALLOWDOCKANY))) {
|
||||
// The application bar's style allows floating and user is holding down the Ctrl key, or docking is disabled anyway, so we'll force float.
|
||||
m_stateDesired = wxABS_FLOAT;
|
||||
m_stateDesired = wxAppBarState::FLOAT;
|
||||
} else {
|
||||
RECT rcWorkArea = {};
|
||||
INT iDist, iDistMin = INT_MAX;
|
||||
@ -1158,32 +1207,32 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
|
||||
// Test all four edges, to find the closest one.
|
||||
if ((m_flags & wxABF_ALLOWDOCKTOP) && (iDist = ptMouse.y - rcWorkArea.top) < iDistMin) {
|
||||
m_stateDesired = wxABS_TOP;
|
||||
m_stateDesired = wxAppBarState::TOP;
|
||||
iDistMin = iDist;
|
||||
}
|
||||
if ((m_flags & wxABF_ALLOWDOCKBOTTOM) && (iDist = rcWorkArea.bottom - ptMouse.y) < iDistMin) {
|
||||
m_stateDesired = wxABS_BOTTOM;
|
||||
m_stateDesired = wxAppBarState::BOTTOM;
|
||||
iDistMin = iDist;
|
||||
}
|
||||
if ((m_flags & wxABF_ALLOWDOCKLEFT) && (iDist = ptMouse.x - rcWorkArea.left) < iDistMin) {
|
||||
m_stateDesired = wxABS_LEFT;
|
||||
m_stateDesired = wxAppBarState::LEFT;
|
||||
iDistMin = iDist;
|
||||
}
|
||||
if ((m_flags & wxABF_ALLOWDOCKRIGHT) && (iDist = rcWorkArea.right - ptMouse.x) < iDistMin) {
|
||||
m_stateDesired = wxABS_RIGHT;
|
||||
m_stateDesired = wxAppBarState::RIGHT;
|
||||
iDistMin = iDist;
|
||||
}
|
||||
if ((m_flags & wxABF_ALLOWFLOAT) && (iDist = wxMax(::GetSystemMetrics(SM_CXVSCROLL), ::GetSystemMetrics(SM_CYHSCROLL))) < iDistMin) {
|
||||
m_stateDesired = wxABS_FLOAT;
|
||||
m_stateDesired = wxAppBarState::FLOAT;
|
||||
iDistMin = iDist;
|
||||
}
|
||||
}
|
||||
|
||||
wxASSERT_MSG(m_stateDesired != wxABS_UNKNOWN, wxT("undetermined application bar state"));
|
||||
wxASSERT_MSG(m_stateDesired != wxAppBarState::UNKNOWN, wxT("undetermined application bar state"));
|
||||
|
||||
// Phase 2. - Calculate the desired rectangle, according to the desired state.
|
||||
|
||||
if (m_stateDesired == wxABS_FLOAT) {
|
||||
if (m_stateDesired == wxAppBarState::FLOAT) {
|
||||
if (wxAppBarIsDocked(uStateDesiredPrev)) {
|
||||
// We just switched from docked to floating state. Align the window according to the mouse pointer.
|
||||
lpRect->left = ptMouse.x - m_sizeFloat.cx / 2;
|
||||
@ -1218,7 +1267,7 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
wxASSERT(lParam);
|
||||
LPRECT lpRect = (LPRECT)lParam;
|
||||
|
||||
if (m_stateDesired == wxABS_FLOAT) {
|
||||
if (m_stateDesired == wxAppBarState::FLOAT) {
|
||||
// Remember the floating window size.
|
||||
m_sizeFloat.cx = lpRect->right - lpRect->left;
|
||||
m_sizeFloat.cy = lpRect->bottom - lpRect->top;
|
||||
@ -1286,10 +1335,10 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
lResult = HTBORDER;
|
||||
|
||||
switch (m_state) {
|
||||
case wxABS_LEFT: if (point.x > rcClient.right) lResult = HTRIGHT; break;
|
||||
case wxABS_TOP: if (point.y > rcClient.bottom) lResult = HTBOTTOM; break;
|
||||
case wxABS_RIGHT: if (point.x < rcClient.left) lResult = HTLEFT; break;
|
||||
case wxABS_BOTTOM: if (point.y < rcClient.top) lResult = HTTOP; break;
|
||||
case wxAppBarState::LEFT: if (point.x > rcClient.right) lResult = HTRIGHT; break;
|
||||
case wxAppBarState::TOP: if (point.y > rcClient.bottom) lResult = HTBOTTOM; break;
|
||||
case wxAppBarState::RIGHT: if (point.x < rcClient.left) lResult = HTLEFT; break;
|
||||
case wxAppBarState::BOTTOM: if (point.y < rcClient.top) lResult = HTTOP; break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -1387,15 +1436,19 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
return W::MSWWindowProc(message, wParam, lParam);
|
||||
}
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
|
||||
/// \cond internal
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::DockAppBar(wxAppBarState state)
|
||||
{
|
||||
wxASSERT(wxAppBarIsDocked(state));
|
||||
|
||||
// Calculate docked window rect and dock the window there.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, state };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, static_cast<UINT>(state) };
|
||||
GetDockedRect(state, &(abd.rc));
|
||||
wxCHECK(::SHAppBarMessage(ABM_SETPOS, &abd), false);
|
||||
wxCHECK(::SetWindowPos(m_hWnd, wxAppBarGetZWnd(state, m_flags), abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, abd.rc.bottom - abd.rc.top, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_FRAMECHANGED), false);
|
||||
@ -1405,10 +1458,11 @@ inline bool wxAppBar<W>::DockAppBar(wxAppBarState state)
|
||||
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::UndockAppBar()
|
||||
{
|
||||
// Free application bar's space to undock.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, wxABS_LEFT };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, ABE_LEFT };
|
||||
wxASSERT(!abd.rc.left && !abd.rc.top && !abd.rc.right && !abd.rc.bottom);
|
||||
wxCHECK(::SHAppBarMessage(ABM_SETPOS, &abd), false);
|
||||
|
||||
@ -1417,12 +1471,13 @@ inline bool wxAppBar<W>::UndockAppBar()
|
||||
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::RegisterAutoHide(wxAppBarState state)
|
||||
{
|
||||
wxASSERT(wxAppBarIsDocked(state));
|
||||
|
||||
// Register application bar as auto-hide.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, state, {}, (LPARAM)true };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, static_cast<UINT>(state), {}, (LPARAM)true };
|
||||
if (::SHAppBarMessage(ABM_SETAUTOHIDEBAR, &abd)) {
|
||||
// Auto-hide succeeded.
|
||||
m_flags |= wxABF_AUTOHIDE;
|
||||
@ -1449,12 +1504,13 @@ inline bool wxAppBar<W>::RegisterAutoHide(wxAppBarState state)
|
||||
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::UnregisterAutoHide(wxAppBarState state)
|
||||
{
|
||||
wxASSERT(wxAppBarIsDocked(state));
|
||||
|
||||
// Unregister application bar as auto-hide.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, state, {}, (LPARAM)false };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, static_cast<UINT>(state), {}, (LPARAM)false };
|
||||
wxCHECK(::SHAppBarMessage(ABM_SETAUTOHIDEBAR, &abd), false);
|
||||
m_flags &= ~wxABF_AUTOHIDDEN;
|
||||
|
||||
@ -1469,39 +1525,40 @@ inline bool wxAppBar<W>::UnregisterAutoHide(wxAppBarState state)
|
||||
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::GetDockedRect(wxAppBarState state, LPRECT rect) const
|
||||
{
|
||||
wxASSERT(wxAppBarIsDocked(state));
|
||||
wxASSERT(rect);
|
||||
|
||||
// Set dimensions to full screen.
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, state, { 0, 0, ::GetSystemMetrics(SM_CXSCREEN), ::GetSystemMetrics(SM_CYSCREEN) } };
|
||||
APPBARDATA abd = { sizeof(abd), m_hWnd, 0, static_cast<UINT>(state), { 0, 0, ::GetSystemMetrics(SM_CXSCREEN), ::GetSystemMetrics(SM_CYSCREEN) } };
|
||||
wxCHECK(::SHAppBarMessage(ABM_QUERYPOS, &abd), false);
|
||||
|
||||
// Correct our dimensions accordingly.
|
||||
switch (state) {
|
||||
case wxABS_LEFT:
|
||||
case wxAppBarState::LEFT:
|
||||
rect->left = abd.rc.left;
|
||||
rect->top = abd.rc.top;
|
||||
rect->right = abd.rc.left + m_sizeDocked.cx;
|
||||
rect->bottom = abd.rc.bottom;
|
||||
break;
|
||||
|
||||
case wxABS_TOP:
|
||||
case wxAppBarState::TOP:
|
||||
rect->left = abd.rc.left;
|
||||
rect->top = abd.rc.top;
|
||||
rect->right = abd.rc.right;
|
||||
rect->bottom = abd.rc.top + m_sizeDocked.cy;
|
||||
break;
|
||||
|
||||
case wxABS_RIGHT:
|
||||
case wxAppBarState::RIGHT:
|
||||
rect->left = abd.rc.right - m_sizeDocked.cx;
|
||||
rect->top = abd.rc.top;
|
||||
rect->right = abd.rc.right;
|
||||
rect->bottom = abd.rc.bottom;
|
||||
break;
|
||||
|
||||
case wxABS_BOTTOM:
|
||||
case wxAppBarState::BOTTOM:
|
||||
rect->left = abd.rc.left;
|
||||
rect->top = abd.rc.bottom - m_sizeDocked.cy;
|
||||
rect->right = abd.rc.right;
|
||||
@ -1519,6 +1576,7 @@ inline bool wxAppBar<W>::GetDockedRect(wxAppBarState state, LPRECT rect) const
|
||||
|
||||
|
||||
template <class W>
|
||||
_Use_decl_annotations_
|
||||
inline bool wxAppBar<W>::GetAutoHideRect(wxAppBarState state, bool bAutoHidden, LPRECT rect) const
|
||||
{
|
||||
wxASSERT(wxAppBarIsDocked(state));
|
||||
@ -1535,28 +1593,28 @@ inline bool wxAppBar<W>::GetAutoHideRect(wxAppBarState state, bool bAutoHidden,
|
||||
|
||||
// Correct our dimensions accordingly.
|
||||
switch (state) {
|
||||
case wxABS_LEFT:
|
||||
case wxAppBarState::LEFT:
|
||||
rect->top = rcScreen.top;
|
||||
rect->bottom = rcScreen.bottom;
|
||||
rect->right = rcScreen.left + (bAutoHidden ? iBorder : m_sizeDocked.cx);
|
||||
rect->left = rect->right - m_sizeDocked.cx;
|
||||
break;
|
||||
|
||||
case wxABS_TOP:
|
||||
case wxAppBarState::TOP:
|
||||
rect->left = rcScreen.left;
|
||||
rect->right = rcScreen.right;
|
||||
rect->bottom = rcScreen.top + (bAutoHidden ? iBorder : m_sizeDocked.cy);
|
||||
rect->top = rect->bottom - m_sizeDocked.cy;
|
||||
break;
|
||||
|
||||
case wxABS_RIGHT:
|
||||
case wxAppBarState::RIGHT:
|
||||
rect->left = rcScreen.right - (bAutoHidden ? iBorder : m_sizeDocked.cx);
|
||||
rect->top = rcScreen.top;
|
||||
rect->right = rect->left + m_sizeDocked.cx;
|
||||
rect->bottom = rcScreen.bottom;
|
||||
break;
|
||||
|
||||
case wxABS_BOTTOM:
|
||||
case wxAppBarState::BOTTOM:
|
||||
rect->left = rcScreen.left;
|
||||
rect->top = rcScreen.bottom - (bAutoHidden ? iBorder : m_sizeDocked.cy);
|
||||
rect->right = rcScreen.right;
|
||||
@ -1571,3 +1629,5 @@ inline bool wxAppBar<W>::GetAutoHideRect(wxAppBarState state, bool bAutoHidden,
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// \endcond
|
||||
|
33
include/wxex/aui/framemanager.h
Normal file
33
include/wxex/aui/framemanager.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/aui/framemanager.h>
|
||||
#include <wx/string.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Updates perspective captions with matching captions from panes.
|
||||
///
|
||||
/// \param[in ] mgr wxAUI manager
|
||||
/// \param[inout] perspective Perspective string to update captions in
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true when update succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective);
|
||||
|
||||
/// @}
|
@ -1,58 +1,56 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#if !defined(__wxEXTEND_common_h__)
|
||||
#define __wxEXTEND_common_h__
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// wxExtend Version
|
||||
///
|
||||
#define wxEXTEND_VERSION 0x01040000
|
||||
#define wxEXTEND_VERSION 0x01050300
|
||||
|
||||
#define wxEXTEND_VERSION_MAJ 1
|
||||
#define wxEXTEND_VERSION_MIN 4
|
||||
#define wxEXTEND_VERSION_REV 0
|
||||
#define wxEXTEND_VERSION_BUILD 0
|
||||
#define wxEXTEND_VERSION_MAJ 1 ///< wxExtend Major Version
|
||||
#define wxEXTEND_VERSION_MIN 5 ///< wxExtend Minor Version
|
||||
#define wxEXTEND_VERSION_REV 3 ///< wxExtend Revision
|
||||
#define wxEXTEND_VERSION_BUILD 0 ///< wxExtend Build
|
||||
|
||||
#define wxEXTEND_VERSION_STR "1.4"
|
||||
#define wxEXTEND_BUILD_YEAR_STR "2016"
|
||||
#define wxEXTEND_VERSION_STR "1.5.3" ///< wxExtend Displayable Version
|
||||
#define wxEXTEND_BUILD_YEAR_STR "2022" ///< wxExtend Build Year
|
||||
|
||||
#define wxExtendVersion "14"
|
||||
#define wxExtendVersion "15" ///< wxExtend API Version
|
||||
|
||||
|
||||
#if !defined(RC_INVOKED) && !defined(MIDL_PASS)
|
||||
#if !defined(RC_INVOKED) && !defined(__midl)
|
||||
|
||||
#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h.
|
||||
#include <Windows.h>
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#ifndef WXWIDGETS_CODE_ANALYSIS_WARNINGS
|
||||
#define WXWIDGETS_CODE_ANALYSIS_WARNINGS ALL_CODE_ANALYSIS_WARNINGS 26812 26814
|
||||
#endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/config.h>
|
||||
#include <wx/debug.h>
|
||||
#include <wx/defs.h>
|
||||
#include <wx/intl.h>
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
///
|
||||
/// Public function calling convention
|
||||
///
|
||||
#ifndef WXEXTEND_API
|
||||
#if defined(WXEXTEND_DLL)
|
||||
#if defined(WXMAKINGDLL_WXEXTEND)
|
||||
#define WXEXTEND_API __declspec(dllexport)
|
||||
#elif defined(WXEXTEND_DLLIMP)
|
||||
#elif defined(WXUSINGDLL)
|
||||
#define WXEXTEND_API __declspec(dllimport)
|
||||
#else
|
||||
#define WXEXTEND_API
|
||||
@ -61,7 +59,7 @@
|
||||
|
||||
|
||||
///
|
||||
/// Debug macros
|
||||
/// Test if condition is true. When not true, raise debug assertion with the given message.
|
||||
///
|
||||
#if wxDEBUG_LEVEL
|
||||
#define wxVERIFY_MSG(cond, msg) \
|
||||
@ -74,7 +72,13 @@
|
||||
wxTrap(); \
|
||||
} \
|
||||
wxSTATEMENT_MACRO_END
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Test if condition is true. When not true, raise debug assertion.
|
||||
///
|
||||
#if wxDEBUG_LEVEL
|
||||
#define wxVERIFY(cond) wxVERIFY_MSG(cond, (const char*)NULL)
|
||||
#else
|
||||
#define wxVERIFY(cond) (cond)
|
||||
@ -112,8 +116,8 @@ inline bool wxModifyStyleEx(_In_ WXHWND hWnd, _In_ DWORD dwRemove, _In_ DWORD dw
|
||||
{
|
||||
wxASSERT(IsWindow(hWnd));
|
||||
|
||||
DWORD dwStyle = GetWindowLong(hWnd, GWL_EXSTYLE);
|
||||
DWORD dwNewStyle = (dwStyle & ~dwRemove) | dwAdd;
|
||||
const DWORD dwStyle = GetWindowLong(hWnd, GWL_EXSTYLE);
|
||||
const DWORD dwNewStyle = (dwStyle & ~dwRemove) | dwAdd;
|
||||
if(dwStyle == dwNewStyle)
|
||||
return false;
|
||||
|
||||
@ -131,22 +135,26 @@ inline bool wxModifyStyleEx(_In_ WXHWND hWnd, _In_ DWORD dwRemove, _In_ DWORD dw
|
||||
/// The language identifier is read from `Language` configuration string ("ll_CC" form expected).
|
||||
/// The path to folder containing localization catalogue PO files is read from `LocalizationRepositoryPath` configuration string.
|
||||
///
|
||||
/// \param[inout] locale Locale to initialize
|
||||
/// \param[inout] locale Locale to initialize
|
||||
/// \param[out ] language Translation language
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true when initialization succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxInitializeLocale(wxLocale &locale)
|
||||
#pragma warning(suppress: 26812) // wxLanguage is unscoped
|
||||
inline bool wxInitializeLocale(wxLocale &locale, wxLanguage *language = NULL)
|
||||
{
|
||||
// Read language from configuration.
|
||||
wxLanguage lang_code;
|
||||
wxLanguage lang_code = wxLANGUAGE_DEFAULT;
|
||||
wxString lang;
|
||||
if (wxConfigBase::Get()->Read(wxT("Language"), &lang)) {
|
||||
const wxLanguageInfo *lang_info = wxLocale::FindLanguageInfo(lang);
|
||||
lang_code = lang_info ? (wxLanguage)lang_info->Language : wxLANGUAGE_DEFAULT;
|
||||
} else
|
||||
lang_code = wxLANGUAGE_DEFAULT;
|
||||
}
|
||||
|
||||
if (language)
|
||||
*language = lang_code;
|
||||
|
||||
if (wxLocale::IsAvailable(lang_code)) {
|
||||
// Language is "available". Well... Known actually.
|
||||
@ -159,5 +167,8 @@ inline bool wxInitializeLocale(wxLocale &locale)
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // !defined(RC_INVOKED) && !defined(MIDL_PASS)
|
||||
#endif // !defined(RC_INVOKED) && !defined(__midl)
|
||||
|
||||
/// @}
|
||||
|
||||
#endif // !defined(__wxEXTEND_common_h__)
|
||||
|
@ -1,27 +1,15 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2016-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Create an object of this class on stack to initialize/cleanup the COM automatically.
|
||||
@ -32,7 +20,7 @@ public:
|
||||
///
|
||||
/// Initialize the COM
|
||||
///
|
||||
/// \param[in] dwCoInit The concurrency model and initialization options for the thread to pass to \c CoInitializeEx
|
||||
/// \param[in] dwCoInit The concurrency model and initialization options for the thread to pass to `CoInitializeEx()`
|
||||
///
|
||||
wxCoInitializer(DWORD dwCoInit = COINIT_MULTITHREADED);
|
||||
|
||||
@ -60,5 +48,7 @@ public:
|
||||
operator bool() const { return m_ok; }
|
||||
|
||||
private:
|
||||
bool m_ok;
|
||||
bool m_ok, m_initialized;
|
||||
};
|
||||
|
||||
/// @}
|
||||
|
@ -1,34 +1,26 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2016-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/buffer.h>
|
||||
#include <wx/ffile.h>
|
||||
#include <wx/log.h>
|
||||
#include <wx/string.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
#include <Wincrypt.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Cryptographics Session Base Class
|
||||
@ -39,7 +31,15 @@ protected:
|
||||
HCRYPTPROV m_h; ///< Session Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics session
|
||||
///
|
||||
wxCryptoSession();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoSession();
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ public:
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
inline bool IsOk() const noexcept
|
||||
{
|
||||
return m_h != NULL;
|
||||
}
|
||||
@ -59,7 +59,7 @@ public:
|
||||
///
|
||||
/// \returns Session handle to be used in native API calls.
|
||||
///
|
||||
inline operator HCRYPTPROV() const
|
||||
inline operator HCRYPTPROV() const noexcept
|
||||
{
|
||||
return m_h;
|
||||
}
|
||||
@ -72,6 +72,9 @@ public:
|
||||
class WXEXTEND_API wxCryptoSessionRSAAES : public wxCryptoSession
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates a new RSA AES cryptographics session
|
||||
///
|
||||
wxCryptoSessionRSAAES();
|
||||
};
|
||||
|
||||
@ -85,7 +88,15 @@ protected:
|
||||
HCRYPTHASH m_h; ///< Hash Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics hash
|
||||
///
|
||||
wxCryptoHash();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoHash();
|
||||
|
||||
|
||||
@ -96,7 +107,7 @@ public:
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
inline bool IsOk() const noexcept
|
||||
{
|
||||
return m_h != NULL;
|
||||
}
|
||||
@ -105,7 +116,7 @@ public:
|
||||
///
|
||||
/// \returns Hash handle to be used in native API calls.
|
||||
///
|
||||
inline operator HCRYPTHASH() const
|
||||
inline operator HCRYPTHASH() const noexcept
|
||||
{
|
||||
return m_h;
|
||||
}
|
||||
@ -121,7 +132,7 @@ public:
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool Hash(const void *data, size_t size);
|
||||
_Success_(return != 0) bool Hash(_In_reads_bytes_(size) const void *data, _In_ size_t size);
|
||||
|
||||
|
||||
///
|
||||
@ -133,7 +144,7 @@ public:
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool Hash(const wxMemoryBuffer &data)
|
||||
inline _Success_(return != 0) bool Hash(_In_ const wxMemoryBuffer &data)
|
||||
{
|
||||
return Hash(data.GetData(), data.GetDataLen());
|
||||
}
|
||||
@ -148,7 +159,7 @@ public:
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool HashAsUTF8(const wxString &str)
|
||||
inline _Success_(return != 0) bool HashAsUTF8(_In_ const wxString &str)
|
||||
{
|
||||
const wxScopedCharBuffer buf(str.ToUTF8());
|
||||
return Hash(buf.data(), buf.length());
|
||||
@ -164,19 +175,19 @@ public:
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool HashFile(const wxString &fileName)
|
||||
inline _Success_(return != 0) bool HashFile(_In_ const wxString &fileName)
|
||||
{
|
||||
wxFFile file(fileName, wxT("rb"));
|
||||
if (file.IsOpened()) {
|
||||
wxMemoryBuffer buf(4*1024);
|
||||
void *data = buf.GetData();
|
||||
size_t nBlock = buf.GetBufSize();
|
||||
const size_t nBlock = buf.GetBufSize();
|
||||
while (!file.Eof())
|
||||
Hash(data, file.Read(data, nBlock));
|
||||
|
||||
return true;
|
||||
} else {
|
||||
wxLogError(wxT("Can not open %s file for reading."), fileName.c_str());
|
||||
wxLogError(wxT("Can not open %s file for reading."), fileName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -191,19 +202,19 @@ public:
|
||||
/// - \c true if succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
virtual bool GetValue(wxMemoryBuffer &hash);
|
||||
virtual _Success_(return != 0) bool GetValue(_Out_ wxMemoryBuffer &hash);
|
||||
|
||||
|
||||
///
|
||||
/// Signs the hash using session key
|
||||
///
|
||||
/// \param[out] signature Digital signature
|
||||
/// \param[inout] signature Digital signature
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true if signing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool Sign(wxMemoryBuffer &signature);
|
||||
_Success_(return != 0) bool Sign(_Inout_ wxMemoryBuffer &signature);
|
||||
|
||||
|
||||
///
|
||||
@ -226,6 +237,9 @@ public:
|
||||
class WXEXTEND_API wxCryptoHashSHA1 : public wxCryptoHash
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics SHA-1 hash
|
||||
///
|
||||
wxCryptoHashSHA1(wxCryptoSession &session);
|
||||
|
||||
|
||||
@ -238,17 +252,57 @@ public:
|
||||
/// - \c true if succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
virtual bool GetValue(wxMemoryBuffer &hash);
|
||||
virtual _Success_(return != 0) bool GetValue(_Out_ wxMemoryBuffer &hash);
|
||||
};
|
||||
|
||||
|
||||
#if (NTDDI_VERSION > NTDDI_WINXPSP2)
|
||||
|
||||
///
|
||||
/// SHA-256 Cryptographics Hash
|
||||
///
|
||||
class WXEXTEND_API wxCryptoHashSHA256 : public wxCryptoHash
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics SHA-256 hash
|
||||
///
|
||||
wxCryptoHashSHA256(wxCryptoSession &session);
|
||||
|
||||
|
||||
///
|
||||
/// Finish hashing and return hash data.
|
||||
///
|
||||
/// \param[out] hash Hash data
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true if succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
virtual _Success_(return != 0) bool GetValue(_Out_ wxMemoryBuffer &hash);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Cryptographics Key Base
|
||||
///
|
||||
class WXEXTEND_API wxCryptoKey
|
||||
{
|
||||
protected:
|
||||
HCRYPTKEY m_h; ///< Key Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics key
|
||||
///
|
||||
wxCryptoKey();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoKey();
|
||||
|
||||
|
||||
@ -259,7 +313,7 @@ public:
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
inline bool IsOk() const noexcept
|
||||
{
|
||||
return m_h != NULL;
|
||||
}
|
||||
@ -268,17 +322,22 @@ public:
|
||||
///
|
||||
/// \returns Key handle to be used in native API calls.
|
||||
///
|
||||
inline operator HCRYPTKEY() const
|
||||
inline operator HCRYPTKEY() const noexcept
|
||||
{
|
||||
return m_h;
|
||||
}
|
||||
|
||||
|
||||
bool ImportPrivate(wxCryptoSession &session, const void *data, size_t size);
|
||||
bool ImportPublic(wxCryptoSession &session, const void *data, size_t size);
|
||||
///
|
||||
/// Imports private key
|
||||
///
|
||||
_Success_(return != 0) bool ImportPrivate(_Inout_ wxCryptoSession &session, _In_reads_bytes_(size) const void *data, _In_ size_t size);
|
||||
|
||||
protected:
|
||||
HCRYPTKEY m_h;
|
||||
|
||||
///
|
||||
/// Imports public key
|
||||
///
|
||||
_Success_(return != 0) bool ImportPublic(_Inout_ wxCryptoSession &session, _In_reads_bytes_(size) const void *data, _In_ size_t size);
|
||||
};
|
||||
|
||||
|
||||
@ -294,7 +353,7 @@ protected:
|
||||
/// - \c true if verification succeeded and the hash matches
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *signature_data, size_t signature_size, const wxCryptoKey &key);
|
||||
_Success_(return != 0) bool WXEXTEND_API wxCryptoVerifySignature(_In_ const wxCryptoHash &hash, _In_reads_bytes_(signature_size) const void *signature_data, _In_ size_t signature_size, _In_ const wxCryptoKey &key);
|
||||
|
||||
|
||||
///
|
||||
@ -308,7 +367,9 @@ bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *
|
||||
/// - \c true if verification succeeded and the hash matches
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxCryptoVerifySignature(const wxCryptoHash &hash, const wxMemoryBuffer &signature, const wxCryptoKey &key)
|
||||
inline _Success_(return != 0) bool wxCryptoVerifySignature(_In_ const wxCryptoHash &hash, _In_ const wxMemoryBuffer &signature, _In_ const wxCryptoKey &key)
|
||||
{
|
||||
return wxCryptoVerifySignature(hash, signature.GetData(), signature.GetDataLen(), key);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
@ -1,35 +1,28 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "wx/string.h"
|
||||
#include "wx/buffer.h"
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/string.h>
|
||||
#include <wx/buffer.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Encoding Functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Return the size needed for the buffer containing the encoded representation
|
||||
/// of a buffer of given length
|
||||
@ -38,7 +31,7 @@
|
||||
///
|
||||
/// \returns Maximum encoded representation size (in characters)
|
||||
///
|
||||
inline size_t wxHexEncodedSize(size_t len)
|
||||
inline constexpr size_t wxHexEncodedSize(size_t len) noexcept
|
||||
{
|
||||
return 2*len;
|
||||
}
|
||||
@ -55,7 +48,7 @@ inline size_t wxHexEncodedSize(size_t len)
|
||||
///
|
||||
/// \returns The length of the encoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of \c{wxHexEncodedSize(srcLen)} size or call the function with NULL buffer in
|
||||
/// of `wxHexEncodedSize(srcLen)` size or call the function with NULL buffer in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxHexEncode(char *dst, size_t dstLen, const void *src, size_t srcLen);
|
||||
@ -101,11 +94,11 @@ inline wxString wxHexEncode(const wxMemoryBuffer& buf)
|
||||
/// Elements of this enum specify the possible behaviours of wxHexDecode()
|
||||
/// when an invalid character is encountered.
|
||||
///
|
||||
enum wxHexDecodeMode
|
||||
enum class wxHexDecodeMode
|
||||
{
|
||||
wxHexDecodeMode_Strict, ///< Normal behaviour: stop at any invalid characters
|
||||
wxHexDecodeMode_SkipWS, ///< Skip whitespace characters
|
||||
wxHexDecodeMode_Relaxed, ///< The most lenient behaviour: simply ignore all invalid characters
|
||||
Strict, ///< Normal behaviour: stop at any invalid characters
|
||||
SkipWS, ///< Skip whitespace characters
|
||||
Relaxed, ///< The most lenient behaviour: simply ignore all invalid characters
|
||||
};
|
||||
|
||||
|
||||
@ -117,7 +110,7 @@ enum wxHexDecodeMode
|
||||
///
|
||||
/// \returns Maximum decoded representation size (in bytes)
|
||||
///
|
||||
inline size_t wxHexDecodedSize(size_t len)
|
||||
inline constexpr size_t wxHexDecodedSize(size_t len) noexcept
|
||||
{
|
||||
return (len + 1)/2;
|
||||
}
|
||||
@ -135,7 +128,7 @@ inline size_t wxHexDecodedSize(size_t len)
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if an error occurs
|
||||
@ -143,7 +136,7 @@ inline size_t wxHexDecodedSize(size_t len)
|
||||
/// latter case the \p posErr is filled with the position where the decoding
|
||||
/// stopped if it is not NULL
|
||||
///
|
||||
size_t WXEXTEND_API wxHexDecode(void *dst, size_t dstLen, const char *src, size_t srcLen = wxNO_LEN, wxHexDecodeMode mode = wxHexDecodeMode_Strict, size_t *posErr = NULL);
|
||||
size_t WXEXTEND_API wxHexDecode(void *dst, size_t dstLen, const char *src, size_t srcLen = wxNO_LEN, wxHexDecodeMode mode = wxHexDecodeMode::Strict, size_t *posErr = NULL);
|
||||
|
||||
|
||||
///
|
||||
@ -156,7 +149,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst, size_t dstLen, const char *src, size_
|
||||
/// \param[out] dst Destination buffer to receive decoded data
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source string to decode
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if an error occurs
|
||||
@ -164,7 +157,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst, size_t dstLen, const char *src, size_
|
||||
/// latter case the \p posErr is filled with the position where the decoding
|
||||
/// stopped if it is not NULL
|
||||
///
|
||||
inline size_t wxHexDecode(void *dst, size_t dstLen, const wxString& src, wxHexDecodeMode mode = wxHexDecodeMode_Strict, size_t *posErr = NULL)
|
||||
inline size_t wxHexDecode(void *dst, size_t dstLen, const wxString& src, wxHexDecodeMode mode = wxHexDecodeMode::Strict, size_t *posErr = NULL)
|
||||
{
|
||||
// don't use str.length() here as the ASCII buffer is shorter than it is for
|
||||
// strings with embedded NULs
|
||||
@ -182,12 +175,12 @@ inline size_t wxHexDecode(void *dst, size_t dstLen, const wxString& src, wxHexDe
|
||||
///
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
///
|
||||
wxMemoryBuffer WXEXTEND_API wxHexDecode(const char *src, size_t srcLen = wxNO_LEN, wxHexDecodeMode mode = wxHexDecodeMode_Strict, size_t *posErr = NULL);
|
||||
wxMemoryBuffer WXEXTEND_API wxHexDecode(const char *src, size_t srcLen = wxNO_LEN, wxHexDecodeMode mode = wxHexDecodeMode::Strict, size_t *posErr = NULL);
|
||||
|
||||
|
||||
///
|
||||
@ -198,14 +191,16 @@ wxMemoryBuffer WXEXTEND_API wxHexDecode(const char *src, size_t srcLen = wxNO_LE
|
||||
/// whitespace or all invalid characters using its \p mode argument
|
||||
///
|
||||
/// \param[in] src Source string to decode
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
///
|
||||
inline wxMemoryBuffer wxHexDecode(const wxString& src, wxHexDecodeMode mode = wxHexDecodeMode_Strict, size_t *posErr = NULL)
|
||||
inline wxMemoryBuffer wxHexDecode(const wxString& src, wxHexDecodeMode mode = wxHexDecodeMode::Strict, size_t *posErr = NULL)
|
||||
{
|
||||
// don't use str.length() here as the ASCII buffer is shorter than it for
|
||||
// strings with embedded NULs
|
||||
return wxHexDecode(src.ToAscii(), wxNO_LEN, mode, posErr);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
@ -1,28 +1,18 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/object.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
///
|
||||
|
@ -1,80 +1,100 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include "../aui/framemanager.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/persist.h>
|
||||
#include <wx/aui/framemanager.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// string constants used by wxPersistentAuiManager
|
||||
// ----------------------------------------------------------------------------
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// `wxPersistentAuiManager` kind for persistent storage
|
||||
///
|
||||
#define wxPERSIST_AUIMGR_KIND "AuiManager"
|
||||
|
||||
// names for persistent options
|
||||
///
|
||||
/// Name of the persistent storage variable for saving Aui manager state
|
||||
///
|
||||
#define wxPERSIST_AUIMGR_PERSPECTIVE "perspective"
|
||||
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxAuiManager state
|
||||
///
|
||||
class wxPersistentAuiManager : public wxPersistentObject
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Constructs a persistent Aui manager object
|
||||
///
|
||||
wxPersistentAuiManager(wxAuiManager *mgr) : wxPersistentObject(mgr)
|
||||
{
|
||||
}
|
||||
|
||||
virtual wxString GetKind() const
|
||||
///
|
||||
/// \returns `wxT(wxPERSIST_AUIMGR_KIND)`
|
||||
///
|
||||
virtual wxString GetKind() const wxOVERRIDE
|
||||
{
|
||||
return wxT(wxPERSIST_AUIMGR_KIND);
|
||||
}
|
||||
|
||||
virtual wxString GetName() const
|
||||
///
|
||||
/// Returns name of the window
|
||||
///
|
||||
virtual wxString GetName() const wxOVERRIDE
|
||||
{
|
||||
// Borrow the name of wxAguiManager from its window.
|
||||
return GetManager()->GetManagedWindow()->GetName();
|
||||
}
|
||||
|
||||
virtual void Save() const
|
||||
///
|
||||
/// Saves Aui manager state
|
||||
///
|
||||
virtual void Save() const wxOVERRIDE
|
||||
{
|
||||
// Save perspective string to configuration.
|
||||
SaveValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), GetManager()->SavePerspective());
|
||||
}
|
||||
|
||||
virtual bool Restore()
|
||||
///
|
||||
/// Restores Aui manager state
|
||||
///
|
||||
virtual bool Restore() wxOVERRIDE
|
||||
{
|
||||
// Load perspective string from configuration.
|
||||
wxString persp;
|
||||
return RestoreValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), &persp) && GetManager()->LoadPerspective(persp);
|
||||
if (!RestoreValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), &persp))
|
||||
return false;
|
||||
|
||||
// Update captions (see http://trac.wxwidgets.org/ticket/12528).
|
||||
wxAuiManager* mgr = GetManager();
|
||||
wxCHECK(wxAuiManagerUpdatePerspectiveCaptions(*mgr, persp), false);
|
||||
|
||||
// Restore perspective.
|
||||
return mgr->LoadPerspective(persp);
|
||||
}
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
wxAuiManager *GetManager() const
|
||||
{
|
||||
return static_cast<wxAuiManager*>(GetObject());
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxPersistentAuiManager);
|
||||
@ -88,3 +108,5 @@ inline wxPersistentObject *wxCreatePersistentObject(wxAuiManager *mgr)
|
||||
{
|
||||
return new wxPersistentAuiManager(mgr);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
@ -1,104 +0,0 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include <wx/persist.h>
|
||||
#include <wx/persist/toplevel.h>
|
||||
#include <wx/persist/window.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// string constants used by wxPersistentDialog
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define wxPERSIST_DIALOG_KIND "Dialog"
|
||||
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxDialog state
|
||||
///
|
||||
class wxPersistentDialog : public wxPersistentWindow<wxDialog>
|
||||
{
|
||||
public:
|
||||
wxPersistentDialog(wxDialog *mgr) : wxPersistentWindow<wxDialog>(mgr)
|
||||
{
|
||||
}
|
||||
|
||||
virtual wxString GetKind() const
|
||||
{
|
||||
return wxT(wxPERSIST_DIALOG_KIND);
|
||||
}
|
||||
|
||||
virtual void Save() const
|
||||
{
|
||||
const wxDialog * const wnd = Get();
|
||||
|
||||
// Code copied from wxPersistentTLW::Save()
|
||||
const wxPoint pos = wnd->GetScreenPosition();
|
||||
SaveValue(wxPERSIST_TLW_X, pos.x);
|
||||
SaveValue(wxPERSIST_TLW_Y, pos.y);
|
||||
}
|
||||
|
||||
virtual bool Restore()
|
||||
{
|
||||
wxDialog * const wnd = Get();
|
||||
|
||||
// Code copied from wxPersistentTLW::Restore()
|
||||
long
|
||||
x wxDUMMY_INITIALIZE(-1),
|
||||
y wxDUMMY_INITIALIZE(-1);
|
||||
const wxSize size = wnd->GetSize();
|
||||
const bool hasPos = RestoreValue(wxPERSIST_TLW_X, &x) &&
|
||||
RestoreValue(wxPERSIST_TLW_Y, &y);
|
||||
|
||||
if (hasPos) {
|
||||
// to avoid making the window completely invisible if it had been
|
||||
// shown on a monitor which was disconnected since the last run
|
||||
// (this is pretty common for notebook with external displays)
|
||||
//
|
||||
// NB: we should allow window position to be (slightly) off screen,
|
||||
// it's not uncommon to position the window so that its upper
|
||||
// left corner has slightly negative coordinate
|
||||
if (wxDisplay::GetFromPoint(wxPoint(x , y )) != wxNOT_FOUND ||
|
||||
wxDisplay::GetFromPoint(wxPoint(x + size.x, y + size.y)) != wxNOT_FOUND)
|
||||
{
|
||||
wnd->Move(x, y, wxSIZE_ALLOW_MINUS_ONE);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxPersistentDialog);
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// wxDialog's instantiation of wxCreatePersistentObject template
|
||||
///
|
||||
inline wxPersistentObject *wxCreatePersistentObject(wxDialog *mgr)
|
||||
{
|
||||
return new wxPersistentDialog(mgr);
|
||||
}
|
88
include/wxex/persist/toplevel.h
Normal file
88
include/wxex/persist/toplevel.h
Normal file
@ -0,0 +1,88 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
#include "../private/tlwgeom.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/persist.h>
|
||||
#include <wx/persist/toplevel.h>
|
||||
#include <wx/persist/window.h>
|
||||
#include <wx/toplevel.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxTopLevelWindow state
|
||||
///
|
||||
class wxPersistentTLWEx :
|
||||
public wxPersistentWindow<wxTopLevelWindow>,
|
||||
private wxTopLevelWindow::GeometrySerializer
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Constructs a persistent dialog object
|
||||
///
|
||||
wxPersistentTLWEx(wxTopLevelWindow *mgr) : wxPersistentWindow<wxTopLevelWindow>(mgr)
|
||||
{
|
||||
}
|
||||
|
||||
///
|
||||
/// \returns `wxT(wxPERSIST_TLW_KIND)`
|
||||
///
|
||||
virtual wxString GetKind() const wxOVERRIDE
|
||||
{
|
||||
return wxT(wxPERSIST_TLW_KIND);
|
||||
}
|
||||
|
||||
///
|
||||
/// Saves dialog state
|
||||
///
|
||||
virtual void Save() const wxOVERRIDE
|
||||
{
|
||||
const wxTopLevelWindow * const wnd = Get();
|
||||
|
||||
wxTLWGeometryEx geom;
|
||||
if (geom.GetFrom(wnd))
|
||||
geom.Save(*this);
|
||||
}
|
||||
|
||||
///
|
||||
/// Restores dialog state
|
||||
///
|
||||
virtual bool Restore() wxOVERRIDE
|
||||
{
|
||||
wxTopLevelWindow * const wnd = Get();
|
||||
|
||||
wxTLWGeometryEx geom;
|
||||
if (!geom.Restore(*this))
|
||||
return false;
|
||||
|
||||
return geom.ApplyTo(wnd);
|
||||
}
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxPersistentTLWEx);
|
||||
|
||||
private:
|
||||
virtual bool SaveField(const wxString& name, int value) const wxOVERRIDE
|
||||
{
|
||||
return SaveValue(name, value);
|
||||
}
|
||||
|
||||
virtual bool RestoreField(const wxString& name, int* value) wxOVERRIDE
|
||||
{
|
||||
return RestoreValue(name, value);
|
||||
}
|
||||
};
|
||||
|
||||
/// @}
|
338
include/wxex/private/tlwgeom.h
Normal file
338
include/wxex/private/tlwgeom.h
Normal file
@ -0,0 +1,338 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/dynlib.h>
|
||||
#include <wx/private/tlwgeom.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
#ifndef USER_DEFAULT_SCREEN_DPI
|
||||
#define USER_DEFAULT_SCREEN_DPI 96
|
||||
#endif
|
||||
|
||||
/// \cond internal
|
||||
|
||||
#define wxPERSIST_TLW_MONITOR_X "xmon"
|
||||
#define wxPERSIST_TLW_MONITOR_Y "ymon"
|
||||
#define wxPERSIST_TLW_MONITOR_W "wmon"
|
||||
#define wxPERSIST_TLW_MONITOR_H "hmon"
|
||||
#define wxPERSIST_TLW_DPI_HORZ "xdpi"
|
||||
#define wxPERSIST_TLW_DPI_VERT "ydpi"
|
||||
|
||||
class wxTLWGeometryEx : public wxTLWGeometryBase
|
||||
{
|
||||
public:
|
||||
wxTLWGeometryEx()
|
||||
{
|
||||
wxZeroMemory(m_placement);
|
||||
m_placement.length = sizeof(m_placement);
|
||||
|
||||
wxZeroMemory(m_mntinfo);
|
||||
m_mntinfo.cbSize = sizeof(m_mntinfo);
|
||||
|
||||
m_dpiHorz = USER_DEFAULT_SCREEN_DPI;
|
||||
m_dpiVert = USER_DEFAULT_SCREEN_DPI;
|
||||
}
|
||||
|
||||
virtual bool Save(const Serializer& ser) const wxOVERRIDE
|
||||
{
|
||||
// For compatibility with the existing saved positions/sizes, use the
|
||||
// same keys as the generic version (which was previously used under
|
||||
// MSW too).
|
||||
|
||||
// Normal position and size.
|
||||
const RECT& rc = m_placement.rcNormalPosition;
|
||||
if (!ser.SaveField(wxPERSIST_TLW_X, rc.left) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_Y, rc.top) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_W, rc.right - rc.left) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_H, rc.bottom - rc.top))
|
||||
return false;
|
||||
|
||||
// Maximized/minimized state.
|
||||
UINT show = m_placement.showCmd;
|
||||
if (!ser.SaveField(wxPERSIST_TLW_MAXIMIZED, show == SW_SHOWMAXIMIZED))
|
||||
return false;
|
||||
|
||||
if (!ser.SaveField(wxPERSIST_TLW_ICONIZED, show == SW_SHOWMINIMIZED))
|
||||
return false;
|
||||
|
||||
// Maximized window position.
|
||||
const POINT pt = m_placement.ptMaxPosition;
|
||||
if (!ser.SaveField(wxPERSIST_TLW_MAX_X, pt.x) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_MAX_Y, pt.y))
|
||||
return false;
|
||||
|
||||
// We don't currently save the minimized window position, it doesn't
|
||||
// seem useful for anything and is probably just a left over from
|
||||
// Windows 3.1 days, when icons were positioned on the desktop instead
|
||||
// of being located in the taskbar.
|
||||
|
||||
// Monitor position and size.
|
||||
const RECT& rcMon = m_mntinfo.rcWork;
|
||||
if (!ser.SaveField(wxPERSIST_TLW_MONITOR_X, rcMon.left) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_MONITOR_Y, rcMon.top) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_MONITOR_W, rcMon.right - rcMon.left) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_MONITOR_H, rcMon.bottom - rcMon.top))
|
||||
return false;
|
||||
|
||||
// DPI.
|
||||
if (!ser.SaveField(wxPERSIST_TLW_DPI_HORZ, m_dpiHorz) ||
|
||||
!ser.SaveField(wxPERSIST_TLW_DPI_VERT, m_dpiVert))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual bool Restore(Serializer& ser) wxOVERRIDE
|
||||
{
|
||||
// Normal position and size.
|
||||
wxRect r;
|
||||
if (!ser.RestoreField(wxPERSIST_TLW_X, &r.x) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_Y, &r.y) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_W, &r.width) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_H, &r.height))
|
||||
return false;
|
||||
wxCopyRectToRECT(r, m_placement.rcNormalPosition);
|
||||
|
||||
// Maximized/minimized state.
|
||||
//
|
||||
// Note the special case of SW_MINIMIZE: while GetWindowPlacement()
|
||||
// returns SW_SHOWMINIMIZED when the window is iconized, we restore it
|
||||
// as SW_MINIMIZE as this is what the code in wxTLW checks to determine
|
||||
// whether the window is supposed to be iconized or not.
|
||||
//
|
||||
// Just to confuse matters further, note that SW_MAXIMIZE is exactly
|
||||
// the same thing as SW_SHOWMAXIMIZED.
|
||||
int tmp;
|
||||
UINT& show = m_placement.showCmd;
|
||||
if (ser.RestoreField(wxPERSIST_TLW_MAXIMIZED, &tmp) && tmp)
|
||||
show = SW_MAXIMIZE;
|
||||
else if (ser.RestoreField(wxPERSIST_TLW_ICONIZED, &tmp) && tmp)
|
||||
show = SW_MINIMIZE;
|
||||
else
|
||||
show = SW_SHOWNORMAL;
|
||||
|
||||
// Maximized window position.
|
||||
if (ser.RestoreField(wxPERSIST_TLW_MAX_X, &r.x) &&
|
||||
ser.RestoreField(wxPERSIST_TLW_MAX_Y, &r.y))
|
||||
{
|
||||
m_placement.ptMaxPosition.x = r.x;
|
||||
m_placement.ptMaxPosition.y = r.y;
|
||||
} else {
|
||||
m_placement.ptMaxPosition.x = -1;
|
||||
m_placement.ptMaxPosition.y = -1;
|
||||
}
|
||||
|
||||
m_placement.ptMinPosition.x = -1;
|
||||
m_placement.ptMinPosition.y = -1;
|
||||
|
||||
// Monitor position and size.
|
||||
wxRect rmon;
|
||||
if (!ser.RestoreField(wxPERSIST_TLW_MONITOR_X, &rmon.x) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_MONITOR_Y, &rmon.y) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_MONITOR_W, &rmon.width) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_MONITOR_H, &rmon.height))
|
||||
return false;
|
||||
wxCopyRectToRECT(rmon, m_mntinfo.rcWork);
|
||||
|
||||
// DPI.
|
||||
if (!ser.RestoreField(wxPERSIST_TLW_DPI_HORZ, &r.x) ||
|
||||
!ser.RestoreField(wxPERSIST_TLW_DPI_VERT, &r.y))
|
||||
return false;
|
||||
m_dpiHorz = r.x;
|
||||
m_dpiVert = r.y;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual bool GetFrom(const wxTopLevelWindow* tlw) wxOVERRIDE
|
||||
{
|
||||
WXHWND hWnd = GetHwndOf(tlw);
|
||||
if (!::GetWindowPlacement(hWnd, &m_placement))
|
||||
{
|
||||
wxLogLastError(wxS("GetWindowPlacement"));
|
||||
return false;
|
||||
}
|
||||
|
||||
HMONITOR hMonitor = ::MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST);
|
||||
wxASSERT_MSG(hMonitor, wxT("error locating monitor"));
|
||||
_Analysis_assume_(hMonitor);
|
||||
if (!::GetMonitorInfo(hMonitor, &m_mntinfo))
|
||||
{
|
||||
wxLogLastError(wxS("GetMonitorInfo"));
|
||||
return false;
|
||||
}
|
||||
|
||||
GetDPI(hWnd, &m_dpiHorz, &m_dpiVert) || GetDPI(hMonitor, &m_dpiHorz, &m_dpiVert);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual bool ApplyTo(wxTopLevelWindow* tlw) wxOVERRIDE
|
||||
{
|
||||
// There is a subtlety here: if the window is currently hidden,
|
||||
// restoring its geometry shouldn't show it, so we must use SW_HIDE as
|
||||
// show command, but showing it later should restore it to the correct
|
||||
// state, so we need to remember it in wxTLW itself. And even if it's
|
||||
// currently shown, we still need to update its show command, so that
|
||||
// it matches the real window state after SetWindowPlacement() call.
|
||||
tlw->MSWSetShowCommand(m_placement.showCmd);
|
||||
if (!tlw->IsShown())
|
||||
{
|
||||
m_placement.showCmd = SW_HIDE;
|
||||
}
|
||||
|
||||
// Get monitor to restore window to.
|
||||
HMONITOR hMonitor = ::MonitorFromRect(&m_mntinfo.rcWork, MONITOR_DEFAULTTONEAREST);
|
||||
wxASSERT_MSG(hMonitor, wxT("error locating monitor"));
|
||||
_Analysis_assume_(hMonitor);
|
||||
MONITORINFO mntinfo;
|
||||
mntinfo.cbSize = sizeof(mntinfo);
|
||||
if (!::GetMonitorInfo(hMonitor, &mntinfo))
|
||||
{
|
||||
wxLogLastError(wxS("GetMonitorInfo"));
|
||||
return false;
|
||||
}
|
||||
|
||||
UINT dpiHorz, dpiVert;
|
||||
GetDPI(hMonitor, &dpiHorz, &dpiVert);
|
||||
|
||||
SIZE
|
||||
sizeWorkPrev = {
|
||||
m_mntinfo.rcWork.right - m_mntinfo.rcWork.left,
|
||||
m_mntinfo.rcWork.bottom - m_mntinfo.rcWork.top
|
||||
},
|
||||
sizeWork = {
|
||||
mntinfo.rcWork.right - mntinfo.rcWork.left,
|
||||
mntinfo.rcWork.bottom - mntinfo.rcWork.top
|
||||
};
|
||||
|
||||
//
|
||||
// Project the coordinates:
|
||||
// - Position relative to monitor working area center.
|
||||
// - Scale according to DPI.
|
||||
//
|
||||
|
||||
if (m_placement.ptMaxPosition.x != -1 && m_placement.ptMaxPosition.y != -1) {
|
||||
m_placement.ptMaxPosition.x = wxMulDivInt32(m_placement.ptMaxPosition.x - m_mntinfo.rcWork.left, sizeWork.cx, sizeWorkPrev.cx) + mntinfo.rcWork.left;
|
||||
m_placement.ptMaxPosition.y = wxMulDivInt32(m_placement.ptMaxPosition.y - m_mntinfo.rcWork.top, sizeWork.cy, sizeWorkPrev.cy) + mntinfo.rcWork.top;
|
||||
}
|
||||
|
||||
SIZE sizeWndPrev, sizeWnd;
|
||||
HWND hWnd = GetHwndOf(tlw);
|
||||
|
||||
if (tlw->GetWindowStyle() & wxRESIZE_BORDER) {
|
||||
sizeWndPrev.cx = m_placement.rcNormalPosition.right - m_placement.rcNormalPosition.left;
|
||||
sizeWndPrev.cy = m_placement.rcNormalPosition.bottom - m_placement.rcNormalPosition.top;
|
||||
sizeWnd.cx = wxMulDivInt32(sizeWndPrev.cx, dpiHorz, m_dpiHorz);
|
||||
sizeWnd.cy = wxMulDivInt32(sizeWndPrev.cy, dpiVert, m_dpiVert);
|
||||
} else {
|
||||
// The window is not resizable. Do not change its size.
|
||||
WINDOWPLACEMENT placement = { sizeof(placement) };
|
||||
if (!::GetWindowPlacement(hWnd, &placement))
|
||||
{
|
||||
wxLogLastError(wxS("GetWindowPlacement"));
|
||||
return false;
|
||||
}
|
||||
SIZE size = {
|
||||
placement.rcNormalPosition.right - placement.rcNormalPosition.left,
|
||||
placement.rcNormalPosition.bottom - placement.rcNormalPosition.top
|
||||
};
|
||||
|
||||
UINT dpiWndHorz, dpiWndVert;
|
||||
GetDPI(hWnd, &dpiWndHorz, &dpiWndVert) || GetDPI(::MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST), &dpiWndHorz, &dpiWndVert);
|
||||
|
||||
sizeWndPrev.cx = wxMulDivInt32(size.cx, m_dpiHorz, dpiWndHorz);
|
||||
sizeWndPrev.cy = wxMulDivInt32(size.cy, m_dpiVert, dpiWndVert);
|
||||
sizeWnd.cx = wxMulDivInt32(size.cx, dpiHorz, dpiWndHorz);
|
||||
sizeWnd.cy = wxMulDivInt32(size.cy, dpiVert, dpiWndVert);
|
||||
}
|
||||
|
||||
m_placement.rcNormalPosition.left = wxMulDivInt32(m_placement.rcNormalPosition.left + sizeWndPrev.cx / 2 - m_mntinfo.rcWork.left, sizeWork.cx, sizeWorkPrev.cx) + mntinfo.rcWork.left - sizeWnd.cx / 2;
|
||||
m_placement.rcNormalPosition.top = wxMulDivInt32(m_placement.rcNormalPosition.top + sizeWndPrev.cy / 2 - m_mntinfo.rcWork.top, sizeWork.cy, sizeWorkPrev.cy) + mntinfo.rcWork.top - sizeWnd.cy / 2;
|
||||
m_placement.rcNormalPosition.right = m_placement.rcNormalPosition.left + sizeWnd.cx;
|
||||
m_placement.rcNormalPosition.bottom = m_placement.rcNormalPosition.top + sizeWnd.cy;
|
||||
|
||||
if (!::SetWindowPlacement(hWnd, &m_placement))
|
||||
{
|
||||
wxLogLastError(wxS("SetWindowPlacement"));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
static bool GetDPI(_In_ HWND hWnd, _Out_ UINT *dpiHorz, _Out_ UINT *dpiVert)
|
||||
{
|
||||
wxASSERT(dpiHorz);
|
||||
wxASSERT(dpiVert);
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
typedef UINT(WINAPI *GetDpiForWindow_t)(HWND);
|
||||
static bool s_checkedGetDpiForWindow = false;
|
||||
static GetDpiForWindow_t s_pfnGetDpiForWindow = NULL;
|
||||
if (!s_checkedGetDpiForWindow && s_dllUser32.IsLoaded()) {
|
||||
s_pfnGetDpiForWindow = (GetDpiForWindow_t)s_dllUser32.RawGetSymbol(wxT("GetDpiForWindow"));
|
||||
s_checkedGetDpiForWindow = true;
|
||||
}
|
||||
|
||||
if (s_pfnGetDpiForWindow) {
|
||||
*dpiHorz = *dpiVert = s_pfnGetDpiForWindow(hWnd);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
*dpiHorz = *dpiVert = USER_DEFAULT_SCREEN_DPI;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool GetDPI(_In_ HMONITOR hMonitor, _Out_ UINT *dpiHorz, _Out_ UINT *dpiVert)
|
||||
{
|
||||
wxASSERT(dpiHorz);
|
||||
wxASSERT(dpiVert);
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
enum MONITOR_DPI_TYPE {
|
||||
MDT_EFFECTIVE_DPI = 0,
|
||||
MDT_ANGULAR_DPI = 1,
|
||||
MDT_RAW_DPI = 2,
|
||||
MDT_DEFAULT = MDT_EFFECTIVE_DPI
|
||||
};
|
||||
typedef HRESULT(WINAPI *GetDpiForMonitor_t)(HMONITOR, MONITOR_DPI_TYPE, UINT *, UINT *);
|
||||
static GetDpiForMonitor_t s_pfnGetDpiForMonitor = NULL;
|
||||
if (!s_pfnGetDpiForMonitor) {
|
||||
if (s_dllShCore.IsLoaded())
|
||||
s_pfnGetDpiForMonitor = (GetDpiForMonitor_t)s_dllShCore.GetSymbol(wxT("GetDpiForMonitor"));
|
||||
}
|
||||
|
||||
if (s_pfnGetDpiForMonitor) {
|
||||
s_pfnGetDpiForMonitor(hMonitor, MDT_DEFAULT, dpiHorz, dpiVert);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
*dpiHorz = *dpiVert = USER_DEFAULT_SCREEN_DPI;
|
||||
return false;
|
||||
}
|
||||
|
||||
private:
|
||||
WINDOWPLACEMENT m_placement;
|
||||
MONITORINFO m_mntinfo;
|
||||
UINT m_dpiHorz;
|
||||
UINT m_dpiVert;
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
static wxDynamicLibrary s_dllUser32;
|
||||
static wxDynamicLibrary s_dllShCore;
|
||||
#endif
|
||||
};
|
||||
|
||||
/// \endcond
|
@ -1,33 +1,25 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "wx/string.h"
|
||||
#include "wx/buffer.h"
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/string.h>
|
||||
#include <wx/buffer.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Return if given character should be protected for URL encoding
|
||||
/// Test if given character should be protected for URL encoding
|
||||
///
|
||||
/// \param[in] chr ASCII character
|
||||
///
|
||||
@ -67,8 +59,7 @@ inline bool wxURLIsProtected(char chr)
|
||||
/// Return the size needed for the buffer containing the encoded representation
|
||||
/// of a string of given length
|
||||
///
|
||||
/// \param[in] src Source string to encode
|
||||
/// \param[in] srcLen Length of \p src string (in bytes)
|
||||
/// \param[in] len Length of string (in bytes)
|
||||
///
|
||||
/// \returns Maximum encoded representation size (in characters)
|
||||
///
|
||||
@ -89,7 +80,7 @@ inline size_t wxURLEncodedSize(size_t len)
|
||||
///
|
||||
/// \returns The length of the encoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of \c{wxURLEncodedSize(srcLen)} size or call the function with NULL string in
|
||||
/// of `wxURLEncodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxURLEncode(char *dst, size_t dstLen, const char *src, size_t srcLen);
|
||||
@ -169,7 +160,7 @@ inline size_t wxURLDecodedSize(size_t len)
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of \c{wxURLDecodedSize(srcLen)} size or call the function with NULL string in
|
||||
/// of `wxURLDecodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxURLDecode(char *dst, size_t dstLen, const char *src, size_t srcLen = wxNO_LEN);
|
||||
@ -184,7 +175,7 @@ size_t WXEXTEND_API wxURLDecode(char *dst, size_t dstLen, const char *src, size_
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of \c{wxURLDecodedSize(srcLen)} size or call the function with NULL string in
|
||||
/// of `wxURLDecodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
inline size_t wxURLDecode(char *dst, size_t dstLen, const wxString& src)
|
||||
@ -220,3 +211,5 @@ inline wxMemoryBuffer wxURLDecode(const wxString& src)
|
||||
// strings with embedded NULs
|
||||
return wxURLDecode(src.ToAscii(), wxNO_LEN);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
@ -1,29 +1,21 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/valnum.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Bit masks used for hexadecimal validator styles.
|
||||
@ -35,7 +27,6 @@ enum wxHexValidatorStyle
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef __VISUALC__
|
||||
// non dll-interface class 'xxx' used as base for dll-interface class 'yyy'
|
||||
#pragma warning (push)
|
||||
@ -48,22 +39,49 @@ enum wxHexValidatorStyle
|
||||
class WXEXTEND_API wxHexValidatorBase : public wxIntegerValidatorBase
|
||||
{
|
||||
protected:
|
||||
///
|
||||
/// Constructs new hexadecimal validator
|
||||
///
|
||||
wxHexValidatorBase(int style);
|
||||
|
||||
///
|
||||
/// Copies a hexadecimal validator
|
||||
///
|
||||
wxHexValidatorBase(const wxHexValidatorBase& other);
|
||||
|
||||
///
|
||||
/// Tests whether minus is acceptable at given position
|
||||
///
|
||||
/// \returns Always `false`
|
||||
///
|
||||
bool IsMinusOk(const wxString& val, int pos) const;
|
||||
|
||||
///
|
||||
/// Converts string to long
|
||||
///
|
||||
static bool FromString(const wxString& s, long *value);
|
||||
|
||||
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||
///
|
||||
/// Converts string to long long
|
||||
///
|
||||
static bool FromString(const wxString &s, wxLongLong_t *value);
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Converts number to string
|
||||
///
|
||||
wxString ToString(LongestValueType value) const;
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
void DoSetWidth(unsigned int width) { m_width = width; }
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
/// \cond internal
|
||||
virtual bool IsCharOk(const wxString& val, int pos, wxChar ch) const;
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
unsigned int m_width; ///< Preferred width of the string - zero padding (<=1 disables padding)
|
||||
@ -81,17 +99,25 @@ template <typename T>
|
||||
class wxHexValidator : public wxPrivate::wxNumValidator<wxHexValidatorBase, T>
|
||||
{
|
||||
public:
|
||||
typedef wxPrivate::wxNumValidator<wxHexValidatorBase, T> Base;
|
||||
typedef wxPrivate::wxNumValidator<wxHexValidatorBase, T> Base; ///< Base class type
|
||||
|
||||
wxHexValidator(ValueType *value = NULL, int style = wxNUM_VAL_DEFAULT, unsigned int width = 0) : Base(value, style)
|
||||
///
|
||||
/// Constructs new hexadecimal validator
|
||||
///
|
||||
wxHexValidator(T *value = NULL, int style = wxNUM_VAL_DEFAULT, unsigned int width = 0) : Base(value, style)
|
||||
{
|
||||
this->DoSetWidth(width);
|
||||
this->DoSetMin(std::numeric_limits<ValueType>::min());
|
||||
this->DoSetMax(std::numeric_limits<ValueType>::max());
|
||||
this->DoSetMin(std::numeric_limits<T>::min());
|
||||
this->DoSetMax(std::numeric_limits<T>::max());
|
||||
}
|
||||
|
||||
///
|
||||
/// Clones this validator
|
||||
///
|
||||
virtual wxObject *Clone() const { return new wxHexValidator(*this); }
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_ASSIGN_CLASS(wxHexValidator);
|
||||
};
|
||||
|
||||
/// @}
|
||||
|
@ -1,31 +1,23 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2016-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/arrstr.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/validate.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
#ifdef __VISUALC__
|
||||
// non dll-interface class 'xxx' used as base for dll-interface class 'yyy'
|
||||
@ -170,3 +162,5 @@ private:
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
/// @}
|
||||
|
@ -1,21 +1,7 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2016-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
@ -24,9 +10,15 @@
|
||||
|
||||
#include "crypto.h"
|
||||
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
|
||||
#include <wx/string.h>
|
||||
#include <wx/xml/xml.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Escapes text string for XML insertion
|
||||
@ -108,7 +100,6 @@ inline wxString wxXmlEscapeAttr(_In_ const wxString& str)
|
||||
}
|
||||
|
||||
|
||||
|
||||
///
|
||||
/// Calculates hash of the node and all its children
|
||||
///
|
||||
@ -116,4 +107,6 @@ inline wxString wxXmlEscapeAttr(_In_ const wxString& str)
|
||||
/// \param[in] node Root node
|
||||
///
|
||||
///
|
||||
bool WXEXTEND_API wxXmlHashNode(_In_ wxCryptoHash &hash, const wxXmlNode *node);
|
||||
bool WXEXTEND_API wxXmlHashNode(_In_ wxCryptoHash &hash, _In_ const wxXmlNode *node);
|
||||
|
||||
/// @}
|
||||
|
@ -1,39 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/eduroam_devel/teams/11799/bg_BG/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/amebis/teams/91595/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg_BG\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"В този ъгъл вече има автоматично скриваща се лента.\n"
|
||||
"Във всеки ъгъл е разрешена само една автоматично скриваща се лента.\n"
|
||||
"Сега функцията автоматично скриване е изключена."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Предупреждение"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Открит е невалиден символ в името на хоста: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Проверка на конфликт"
|
||||
|
@ -1,39 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Catalan (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/ca_ES/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Catalan (Spain) (https://www.transifex.com/amebis/teams/91595/ca_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Ja hi ha una barra oculta en aquest extrem.\n"
|
||||
"Només hi pot haver una barra oculta en cada extrem.\n"
|
||||
"L'amagat automàtic està desactivat."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Alerta"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "S'ha trobat un caracter no vàlid en el nom de màquina: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflicte de validació"
|
||||
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Martin Šimek <simek.mar@gmail.com>, 2016\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/eduroam_devel/teams/11799/cs_CZ/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/amebis/teams/91595/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs_CZ\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nalezen nepovolený znak ve jméně stroje: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Chyba při kontrole"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"Je povolena pouze jedna automaticky skrytá lišta na každé straně.\n"
|
||||
"Funkce automatického skrytí je nyní vypnuta."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Upozornění. "
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nalezen nepovolený znak ve jméně stroje: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Chyba při kontrole"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Welsh (https://www.transifex.com/amebis/teams/91595/cy/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cy\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,40 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: German (Germany) (https://www.transifex.com/amebis/teams/91595/de_DE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Language: de_DE\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ungültiger Buchstabe im Servernamen gefunden: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Fehler bei der Validierung"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Hier befindet sich bereits eine automatisch versteckte Leiste.\n"
|
||||
"Es ist nur maximal eine automatisch versteckte Leiste erlaubt.\n"
|
||||
"Automatisches Verstecken ist jetzt ausgeschaltet."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ungültiger Buchstabe im Servernamen gefunden: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Fehler bei der Validierung"
|
||||
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Vicky Kons <vickyk@admin.grnet.gr>, 2016\n"
|
||||
"Language-Team: Greek (https://www.transifex.com/eduroam_devel/teams/11799/el/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Greek (Greece) (https://www.transifex.com/amebis/teams/91595/el_GR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el\n"
|
||||
"Language: el_GR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Βρέθηκε μη έγκυρος χαρακτήρας στο hostname: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Πρόβλημα επικύρωσης"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"Μόνο ένα αυτόματο κρυμμένο μενού επιτρέπεται σε κάθε ακριανό πλαίσιο.\n"
|
||||
"Το χαρακτηριστικό της αυτόματης απόκρυψης είναι πλέον απενεργοποιημένο."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Προειδοποίηση"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Βρέθηκε μη έγκυρος χαρακτήρας στο hostname: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Πρόβλημα επικύρωσης"
|
||||
|
@ -1,40 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/eduroam_devel/teams/11799/es/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Spanish (Spain) (https://www.transifex.com/amebis/teams/91595/es_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Language: es_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Carácter no válido en el nombre: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflicto de validación"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Ya hay una barra con ocultación automática en este borde.\n"
|
||||
"Sólo se permite una barra con ocultación automática en cada borde.\n"
|
||||
"La propiedad de ocultación automática está desactivada."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Advertencia"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Carácter no válido en el nombre: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflicto de validación"
|
||||
|
39
locale/et_EE.po
Normal file
39
locale/et_EE.po
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Estonian (Estonia) (https://www.transifex.com/amebis/teams/91595/et_EE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: et_EE\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Basque (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/eu_ES/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Basque (Spain) (https://www.transifex.com/amebis/teams/91595/eu_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eu_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/eduroam_devel/teams/11799/fi_FI/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/amebis/teams/91595/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi_FI\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/eduroam_devel/teams/11799/fr_CA/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/amebis/teams/91595/fr_CA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr_CA\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/eduroam_devel/teams/11799/fr_FR/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/amebis/teams/91595/fr_FR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr_FR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Galician (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/gl_ES/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Galician (Spain) (https://www.transifex.com/amebis/teams/91595/gl_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: gl_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,40 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/eduroam_devel/teams/11799/hr_HR/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/amebis/teams/91595/hr_HR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hr_HR\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nevažeći znak u imenu poslužitelja %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Problem s provjerom"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Već je aktivirana jedna auto skrivena opcija\n"
|
||||
"Samo jedna auto skrivena opcija moze biti aktivna.\n"
|
||||
"Auto skrivanje je sada iskljućeno"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Upozorenje"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nevažeći znak u imenu poslužitelja %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Problem s provjerom"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/eduroam_devel/teams/11799/hu/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Hungarian (Hungary) (https://www.transifex.com/amebis/teams/91595/hu_HU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Language: hu_HU\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Icelandic (https://www.transifex.com/eduroam_devel/teams/11799/is/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Icelandic (Iceland) (https://www.transifex.com/amebis/teams/91595/is_IS/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: is\n"
|
||||
"Language: is_IS\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,39 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Italian (Italy) (https://www.transifex.com/eduroam_devel/teams/11799/it_IT/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Italian (Italy) (https://www.transifex.com/amebis/teams/91595/it_IT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it_IT\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"In questo lato c'è già una barra che si nasconde.\n"
|
||||
"E' ammessa solo una barra che si nasconde per lato.\n"
|
||||
"La funzionalità di nascondersi è stata spenta"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Attenzione"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Trovato carattere non valido nel nome host: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflitto durante la validazione"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Korean (Korea) (https://www.transifex.com/eduroam_devel/teams/11799/ko_KR/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Korean (Korea) (https://www.transifex.com/amebis/teams/91595/ko_KR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ko_KR\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,40 +1,42 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/amebis/teams/91595/lt_LT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lt\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"Language: lt_LT\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Kompiuterio varde aptiktas netinkamas simbolis: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Patikra nesėkminga"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Įspėjimas"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Kompiuterio varde aptiktas netinkamas simbolis: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Patikra nesėkminga"
|
||||
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
|
||||
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/amebis/teams/91595/nb_NO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nb\n"
|
||||
"Language: nb_NO\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ugyldig tegn funnet i navn: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Valideringskonflikt"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Advarsel"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ugyldig tegn funnet i navn: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Valideringskonflikt"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/eduroam_devel/teams/11799/nl/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/amebis/teams/91595/nl_NL/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Language: nl_NL\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,40 +1,45 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Polish (Poland) (https://www.transifex.com/amebis/teams/91595/pl_PL/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl_PL\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "W nazwie hosta znaleziono nieprawidłowy znak: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Błąd walidacji danych"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Na tej krawędzi jest już automatycznie ukrywany pasek.\n"
|
||||
"Na każdej krawędzi może być tylko jeden ukrywany pasek.\n"
|
||||
"Opcja automatycznego wykrywanie jest wyłączona."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Ostrzeżenie"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "W nazwie hosta znaleziono nieprawidłowy znak: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Błąd walidacji danych"
|
||||
|
@ -1,39 +1,42 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/amebis/teams/91595/pt_PT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_PT\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Alerta"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflito de validação"
|
||||
|
34
locale/ro_RO.po
Normal file
34
locale/ro_RO.po
Normal file
@ -0,0 +1,34 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2020-04-20 16:06+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ro_RO\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n%100<=19) ? 1 : 2);\n"
|
||||
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Russian (Russia) (https://www.transifex.com/eduroam_devel/teams/11799/ru_RU/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Russian (Russia) (https://www.transifex.com/amebis/teams/91595/ru_RU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru_RU\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"На каждом месте может находится только одна автоматически скрыта панель.\n"
|
||||
"Автоматическое скрытие теперь выключен."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Предупреждение"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/eduroam_devel/teams/11799/sk_SK/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/amebis/teams/91595/sk_SK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sk_SK\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/eduroam_devel/teams/11799/sl_SI/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/amebis/teams/91595/sl_SI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl_SI\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Napačen znak v imenu gostitelja: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Nesoglasje pri preverjanju"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"Na vsakem robu je lahko samo ena samodejno skrita pasica.\n"
|
||||
"Samodejno skrivanje je zdaj izklopljeno."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Opozorilo"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Napačen znak v imenu gostitelja: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Nesoglasje pri preverjanju"
|
||||
|
@ -1,34 +1,27 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Marko Eremija <marko.eremija@amres.ac.rs>, 2016\n"
|
||||
"Language-Team: Serbian (https://www.transifex.com/eduroam_devel/teams/11799/sr/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Serbian (Serbia) (https://www.transifex.com/amebis/teams/91595/sr_RS/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr\n"
|
||||
"Language: sr_RS\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Neispravan karakter je pronađen u DNS imenu: %c"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr "Konflikt prilikom validacije"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@ -38,6 +31,15 @@ msgstr ""
|
||||
"Dozvoljen je samo po jedan sakriven klizač na svakoj ivici.\n"
|
||||
"Opcija za automatsko sakrivanje je isključena. "
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr "Upozorenje"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Neispravan karakter je pronađen u DNS imenu: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Konflikt prilikom validacije"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/eduroam_devel/teams/11799/sv/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Swedish (Sweden) (https://www.transifex.com/amebis/teams/91595/sv_SE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Language: sv_SE\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -1,39 +1,42 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/eduroam_devel/teams/11799/tr/)\n"
|
||||
"POT-Creation-Date: 2019-08-12 13:39+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Turkish (Turkey) (https://www.transifex.com/amebis/teams/91595/tr_TR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
"Language: tr_TR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1037
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Uyarı"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Alan adında geçersiz karakter bulundu: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Doğrulama çakışması"
|
||||
|
@ -3,37 +3,37 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Vietnamese (https://www.transifex.com/eduroam_devel/teams/11799/vi/)\n"
|
||||
"POT-Creation-Date: 2018-09-19 08:58+0200\n"
|
||||
"PO-Revision-Date: 2018-09-19 08:19+0000\n"
|
||||
"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/amebis/teams/91595/vi_VN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: vi\n"
|
||||
"Language: vi_VN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
@ -2,38 +2,36 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"POT-Creation-Date: 2022-02-17 13:29+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1039
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1039
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:80
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:80
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
BIN
res/wxExtend.rc
BIN
res/wxExtend.rc
Binary file not shown.
@ -1,25 +1,11 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
Based on code written by Jeffrey Richter.
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -28,13 +14,11 @@
|
||||
|
||||
wxAppBarFrame::wxAppBarFrame()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
wxAppBarFrame::wxAppBarFrame(wxWindow *parent, wxWindowID id, const wxString& title, wxAppBarState state, int flags, const wxPoint& pos, const wxSize& size, long style, const wxString& name)
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, title, state, flags, pos, size, style, name);
|
||||
}
|
||||
|
||||
@ -57,13 +41,11 @@ bool wxAppBarFrame::Create(wxWindow *parent, wxWindowID id, const wxString& titl
|
||||
|
||||
wxAppBarDialog::wxAppBarDialog()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
wxAppBarDialog::wxAppBarDialog(wxWindow *parent, wxWindowID id, const wxString& title, wxAppBarState state, int flags, const wxPoint& pos, const wxSize& size, long style, const wxString& name)
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, title, state, flags, pos, size, style, name);
|
||||
}
|
||||
|
||||
|
@ -1,24 +1,10 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -27,12 +13,15 @@
|
||||
|
||||
wxCoInitializer::wxCoInitializer(DWORD dwCoInit)
|
||||
{
|
||||
m_ok = SUCCEEDED(::CoInitializeEx(NULL, dwCoInit));
|
||||
HRESULT hr = ::CoInitializeEx(NULL, dwCoInit);
|
||||
|
||||
m_initialized = SUCCEEDED(hr);
|
||||
m_ok = SUCCEEDED(hr) || hr == RPC_E_CHANGED_MODE;
|
||||
}
|
||||
|
||||
|
||||
wxCoInitializer::~wxCoInitializer()
|
||||
{
|
||||
if (m_ok)
|
||||
if (m_initialized)
|
||||
::CoUninitialize();
|
||||
}
|
||||
|
110
src/crypto.cpp
110
src/crypto.cpp
@ -1,27 +1,30 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
#pragma comment(lib, "Crypt32.lib")
|
||||
|
||||
|
||||
static bool wxGetHashValue(HCRYPTHASH h, DWORD length, wxMemoryBuffer &hash)
|
||||
{
|
||||
// Prepare buffer.
|
||||
hash.SetBufSize(length);
|
||||
|
||||
// Query hash value.
|
||||
if (::CryptGetHashParam(h, HP_HASHVAL, (BYTE*)hash.GetData(), &length, 0)) {
|
||||
hash.SetDataLen(length);
|
||||
return true;
|
||||
} else
|
||||
wxLogLastError(wxT("CryptGetHashParam(HP_HASHVAL)"));
|
||||
|
||||
hash.Clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxCryptoSession
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -65,12 +68,14 @@ wxCryptoHash::~wxCryptoHash()
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoHash::Hash(const void *data, size_t size)
|
||||
{
|
||||
wxASSERT_MSG(m_h, wxT("object uninitialized"));
|
||||
wxASSERT_MSG(data || !size, wxT("invalid parameter"));
|
||||
wxASSERT_MSG(size <= MAXDWORD, wxT("4 GiB exceeded"));
|
||||
|
||||
if (!::CryptHashData(m_h, (const BYTE*)data, size, 0)) {
|
||||
if (!::CryptHashData(m_h, (const BYTE*)data, (DWORD)size, 0)) {
|
||||
wxLogLastError(wxT("CryptHashData"));
|
||||
return false;
|
||||
}
|
||||
@ -79,6 +84,7 @@ bool wxCryptoHash::Hash(const void *data, size_t size)
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoHash::GetValue(wxMemoryBuffer &hash)
|
||||
{
|
||||
wxASSERT_MSG(m_h, wxT("object uninitialized"));
|
||||
@ -87,17 +93,7 @@ bool wxCryptoHash::GetValue(wxMemoryBuffer &hash)
|
||||
DWORD size, length = sizeof(size);
|
||||
if (::CryptGetHashParam(m_h, HP_HASHSIZE, (BYTE*)&size, &length, 0)) {
|
||||
wxASSERT(length == sizeof(size));
|
||||
|
||||
// Prepare buffer.
|
||||
length = size;
|
||||
hash.SetBufSize(length);
|
||||
|
||||
// Query hash value.
|
||||
if (::CryptGetHashParam(m_h, HP_HASHVAL, (BYTE*)hash.GetData(), &length, 0)) {
|
||||
hash.SetDataLen(length);
|
||||
return true;
|
||||
} else
|
||||
wxLogLastError(wxT("CryptGetHashParam(HP_HASHVAL)"));
|
||||
return wxGetHashValue(m_h, size, hash);
|
||||
} else
|
||||
wxLogLastError(wxT("CryptGetHashParam(HP_HASHSIZE)"));
|
||||
|
||||
@ -106,6 +102,7 @@ bool wxCryptoHash::GetValue(wxMemoryBuffer &hash)
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoHash::Sign(wxMemoryBuffer &signature)
|
||||
{
|
||||
// Try with the current buffer size first.
|
||||
@ -146,26 +143,37 @@ wxCryptoHashSHA1::wxCryptoHashSHA1(wxCryptoSession &session)
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoHashSHA1::GetValue(wxMemoryBuffer &hash)
|
||||
{
|
||||
wxASSERT_MSG(m_h, wxT("object uninitialized"));
|
||||
|
||||
// Prepare buffer.
|
||||
DWORD length = 20;
|
||||
hash.SetBufSize(length);
|
||||
|
||||
// Query hash value.
|
||||
if (::CryptGetHashParam(m_h, HP_HASHVAL, (BYTE*)hash.GetData(), &length, 0)) {
|
||||
hash.SetDataLen(length);
|
||||
return true;
|
||||
} else
|
||||
wxLogLastError(wxT("CryptGetHashParam(HP_HASHVAL)"));
|
||||
|
||||
hash.Clear();
|
||||
return false;
|
||||
return wxGetHashValue(m_h, 20, hash);
|
||||
}
|
||||
|
||||
|
||||
#if (NTDDI_VERSION > NTDDI_WINXPSP2)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxCryptoHashSHA256
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxCryptoHashSHA256::wxCryptoHashSHA256(wxCryptoSession &session)
|
||||
{
|
||||
if (!::CryptCreateHash(session, CALG_SHA_256, 0, 0, &m_h))
|
||||
wxLogLastError(wxT("CryptCreateHash(CALG_SHA_256)"));
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoHashSHA256::GetValue(wxMemoryBuffer &hash)
|
||||
{
|
||||
wxASSERT_MSG(m_h, wxT("object uninitialized"));
|
||||
return wxGetHashValue(m_h, 32, hash);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxCryptoKey
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -182,15 +190,17 @@ wxCryptoKey::~wxCryptoKey()
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoKey::ImportPrivate(wxCryptoSession &session, const void *data, size_t size)
|
||||
{
|
||||
wxASSERT_MSG(!m_h, wxT("object initialized"));
|
||||
wxASSERT_MSG(session.IsOk(), wxT("invalid session"));
|
||||
wxASSERT_MSG(data || !size, wxT("invalid parameter"));
|
||||
wxASSERT_MSG(size <= MAXDWORD, wxT("4 GiB exceeded"));
|
||||
|
||||
PUBLICKEYSTRUC *key_data = NULL;
|
||||
DWORD key_size = 0;
|
||||
if (!::CryptDecodeObjectEx(X509_ASN_ENCODING, PKCS_RSA_PRIVATE_KEY, (const BYTE*)data, size, CRYPT_DECODE_ALLOC_FLAG, NULL, &key_data, &key_size)) {
|
||||
if (!::CryptDecodeObjectEx(X509_ASN_ENCODING, PKCS_RSA_PRIVATE_KEY, (const BYTE*)data, (DWORD)size, CRYPT_DECODE_ALLOC_FLAG, NULL, &key_data, &key_size)) {
|
||||
wxLogLastError(wxT("CryptDecodeObjectEx(PKCS_RSA_PRIVATE_KEY)"));
|
||||
return false;
|
||||
}
|
||||
@ -209,15 +219,17 @@ bool wxCryptoKey::ImportPrivate(wxCryptoSession &session, const void *data, size
|
||||
}
|
||||
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool wxCryptoKey::ImportPublic(wxCryptoSession &session, const void *data, size_t size)
|
||||
{
|
||||
wxASSERT_MSG(!m_h, wxT("object initialized"));
|
||||
wxASSERT_MSG(session.IsOk(), wxT("invalid session"));
|
||||
wxASSERT_MSG(data || !size, wxT("invalid parameter"));
|
||||
wxASSERT_MSG(size <= MAXDWORD, wxT("4 GiB exceeded"));
|
||||
|
||||
CERT_PUBLIC_KEY_INFO *keyinfo_data = NULL;
|
||||
DWORD keyinfo_size = 0;
|
||||
if (!::CryptDecodeObjectEx(X509_ASN_ENCODING, X509_PUBLIC_KEY_INFO, (const BYTE*)data, size, CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size)) {
|
||||
if (!::CryptDecodeObjectEx(X509_ASN_ENCODING, X509_PUBLIC_KEY_INFO, (const BYTE*)data, (DWORD)size, CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size)) {
|
||||
wxLogLastError(wxT("CryptDecodeObjectEx(X509_PUBLIC_KEY_INFO)"));
|
||||
return false;
|
||||
}
|
||||
@ -237,10 +249,12 @@ bool wxCryptoKey::ImportPublic(wxCryptoSession &session, const void *data, size_
|
||||
// wxCryptoVerifySignature
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
_Use_decl_annotations_
|
||||
bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *signature_data, size_t signature_size, const wxCryptoKey &key)
|
||||
{
|
||||
wxASSERT_MSG(hash.IsOk() , wxT("invalid hash"));
|
||||
wxASSERT_MSG(signature_data || !signature_size, wxT("invalid parameter"));
|
||||
wxASSERT_MSG(signature_size <= MAXDWORD , wxT("4 GiB exceeded"));
|
||||
wxASSERT_MSG(key.IsOk() , wxT("invalid key"));
|
||||
|
||||
// Reverse byte order, for consistent OpenSSL experience.
|
||||
@ -249,7 +263,7 @@ bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *
|
||||
for (size_t i = 0, j = signature_size - 1; i < signature_size; i++, j--)
|
||||
data[i] = ((const BYTE*)signature_data)[j];
|
||||
|
||||
if (!::CryptVerifySignature(hash, data, signature_size, key, NULL, 0)) {
|
||||
if (!::CryptVerifySignature(hash, data, (DWORD)signature_size, key, NULL, 0)) {
|
||||
wxLogLastError(wxT("CryptVerifySignature"));
|
||||
return false;
|
||||
}
|
||||
|
122
src/framemanager.cpp
Normal file
122
src/framemanager.cpp
Normal file
@ -0,0 +1,122 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective)
|
||||
{
|
||||
wxString input = perspective;
|
||||
wxString part;
|
||||
|
||||
// check layout string version
|
||||
// 'layout1' = wxAUI 0.9.0 - wxAUI 0.9.2
|
||||
// 'layout2' = wxAUI 0.9.2 (wxWidgets 2.8)
|
||||
part = input.BeforeFirst(wxT('|'));
|
||||
input = input.AfterFirst(wxT('|'));
|
||||
part.Trim(true);
|
||||
part.Trim(false);
|
||||
if (part != wxT("layout2"))
|
||||
return false;
|
||||
|
||||
wxString result;
|
||||
result.Alloc(500);
|
||||
result = wxT("layout2|");
|
||||
|
||||
// replace escaped characters so we can
|
||||
// split up the string easily
|
||||
input.Replace(wxT("\\|"), wxT("\a"));
|
||||
input.Replace(wxT("\\;"), wxT("\b"));
|
||||
|
||||
wxSize ppi = wxClientDC(mgr.GetManagedWindow()).GetPPI();
|
||||
wxSize ppi_on_save(96, 96);
|
||||
while (1)
|
||||
{
|
||||
wxString pane_part = input.BeforeFirst(wxT('|'));
|
||||
input = input.AfterFirst(wxT('|'));
|
||||
pane_part.Trim(true);
|
||||
|
||||
// if the string is empty, we're done parsing
|
||||
if (pane_part.empty())
|
||||
break;
|
||||
|
||||
// Undo our escaping
|
||||
pane_part.Replace(wxT("\a"), wxT("|"));
|
||||
pane_part.Replace(wxT("\b"), wxT(";"));
|
||||
|
||||
if (pane_part.Left(3) == wxT("ppi"))
|
||||
{
|
||||
wxString value = pane_part.AfterFirst(wxT('='));
|
||||
|
||||
long ppi_horz, ppi_vert;
|
||||
value.BeforeFirst(wxT(',')).ToLong(&ppi_horz);
|
||||
value.AfterFirst(wxT(',')).ToLong(&ppi_vert);
|
||||
|
||||
ppi_on_save.x = ppi_horz;
|
||||
ppi_on_save.y = ppi_vert;
|
||||
result += wxString::Format(wxT("ppi=%d,%d|"),
|
||||
ppi.x, ppi.y);
|
||||
continue;
|
||||
}
|
||||
else if (pane_part.Left(9) == wxT("dock_size"))
|
||||
{
|
||||
wxString val_name = pane_part.BeforeFirst(wxT('='));
|
||||
wxString value = pane_part.AfterFirst(wxT('='));
|
||||
|
||||
long dir, layer, row, size;
|
||||
wxString piece = val_name.AfterFirst(wxT('('));
|
||||
piece = piece.BeforeLast(wxT(')'));
|
||||
piece.BeforeFirst(wxT(',')).ToLong(&dir);
|
||||
piece = piece.AfterFirst(wxT(','));
|
||||
piece.BeforeFirst(wxT(',')).ToLong(&layer);
|
||||
piece.AfterFirst(wxT(',')).ToLong(&row);
|
||||
value.ToLong(&size);
|
||||
|
||||
wxAuiDockInfo dock;
|
||||
dock.dock_direction = dir;
|
||||
dock.dock_layer = layer;
|
||||
dock.dock_row = row;
|
||||
dock.size = size == -1 ? -1 :
|
||||
dock.IsHorizontal() ? wxMulDivInt32(size, ppi.x, ppi_on_save.x) :
|
||||
wxMulDivInt32(size, ppi.y, ppi_on_save.y);
|
||||
|
||||
result += wxString::Format(wxT("dock_size(%d,%d,%d)=%d|"),
|
||||
dock.dock_direction, dock.dock_layer,
|
||||
dock.dock_row, dock.size);
|
||||
continue;
|
||||
}
|
||||
|
||||
wxAuiPaneInfo pane;
|
||||
mgr.LoadPaneInfo(pane_part, pane, ppi_on_save);
|
||||
|
||||
wxAuiPaneInfo& p = mgr.GetPane(pane.name);
|
||||
if (!p.IsOk())
|
||||
{
|
||||
// the pane window couldn't be found
|
||||
// in the existing layout -- skip it
|
||||
continue;
|
||||
}
|
||||
|
||||
// Update caption.
|
||||
pane.caption = p.caption;
|
||||
|
||||
// Reset best/min/max sizes to allow resize on GUI changes across different versions.
|
||||
pane.best_size = p.best_size;
|
||||
pane.min_size = p.min_size;
|
||||
pane.max_size = p.max_size;
|
||||
|
||||
if ((pane.state & wxAuiPaneInfo::optionResizable) == 0) {
|
||||
// Reset floating size to allow resize on GUI changes across different versions for non-resizeable panes.
|
||||
pane.floating_size = p.floating_size;
|
||||
}
|
||||
|
||||
// Re-generate and append pane info.
|
||||
result += mgr.SavePaneInfo(pane) + wxT('|');
|
||||
}
|
||||
|
||||
perspective = result;
|
||||
return true;
|
||||
}
|
34
src/hex.cpp
34
src/hex.cpp
@ -1,31 +1,17 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
size_t WXEXTEND_API wxHexEncode(char *dst, size_t dstLen, const void *src_, size_t srcLen)
|
||||
{
|
||||
wxCHECK_MSG( src_, wxCONV_FAILED, wxT("NULL input buffer") );
|
||||
|
||||
const unsigned char *src = static_cast<const unsigned char *>(src_);
|
||||
const unsigned char *src = reinterpret_cast<const unsigned char *>(src_);
|
||||
|
||||
static const char bhex[] = "0123456789ABCDEF";
|
||||
|
||||
@ -51,7 +37,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst_, size_t dstLen, const char *src, size
|
||||
{
|
||||
wxCHECK_MSG( src, wxCONV_FAILED, wxT("NULL input buffer") );
|
||||
|
||||
unsigned char *dst = static_cast<unsigned char *>(dst_);
|
||||
unsigned char *dst = reinterpret_cast<unsigned char *>(dst_);
|
||||
|
||||
size_t decLen = 0;
|
||||
|
||||
@ -66,13 +52,13 @@ size_t WXEXTEND_API wxHexDecode(void *dst_, size_t dstLen, const char *src, size
|
||||
const char *p;
|
||||
for ( p = src; srcLen; p++, srcLen-- )
|
||||
{
|
||||
const unsigned char c = static_cast<unsigned char>(*p);
|
||||
const unsigned char c = *reinterpret_cast<const unsigned char*>(p);
|
||||
if ( '0' <= c && c <= '9' ) in = (in << 4) | (c - '0') , n++;
|
||||
else if ( 'A' <= c && c <= 'F' ) in = (in << 4) | (c - 'A' + 10), n++;
|
||||
else if ( 'a' <= c && c <= 'f' ) in = (in << 4) | (c - 'a' + 10), n++;
|
||||
else {
|
||||
if ( mode == wxHexDecodeMode_Relaxed ||
|
||||
mode == wxHexDecodeMode_SkipWS && isspace(c) )
|
||||
if ( mode == wxHexDecodeMode::Relaxed ||
|
||||
mode == wxHexDecodeMode::SkipWS && isspace(c) )
|
||||
continue;
|
||||
|
||||
if ( posErr )
|
||||
|
7
src/pch.cpp
Normal file
7
src/pch.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "pch.h"
|
34
src/pch.h
Normal file
34
src/pch.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Since including <wx/app.h> introduces wrong include order in 3.0.2,
|
||||
// include the grand <wx/wx.h> at a cost of longer pre-compilation phase.
|
||||
#include <codeanalysis\warnings.h>
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: ALL_CODE_ANALYSIS_WARNINGS 26812 26814)
|
||||
#include <wx/wx.h>
|
||||
#pragma warning(pop)
|
||||
|
||||
#include "../include/wxex/aui/framemanager.h"
|
||||
|
||||
#include "../include/wxex/persist/auimanager.h"
|
||||
#include "../include/wxex/persist/toplevel.h"
|
||||
|
||||
#include "../include/wxex/appbar.h"
|
||||
#include "../include/wxex/comutils.h"
|
||||
#include "../include/wxex/crypto.h"
|
||||
#include "../include/wxex/hex.h"
|
||||
#include "../include/wxex/object.h"
|
||||
#include "../include/wxex/url.h"
|
||||
#include "../include/wxex/valhex.h"
|
||||
#include "../include/wxex/valnet.h"
|
||||
#include "../include/wxex/xml.h"
|
||||
|
||||
#include "../include/wxex/common.h"
|
||||
|
||||
#include "../include/wxex/private/tlwgeom.h"
|
@ -1,21 +0,0 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
37
src/stdafx.h
37
src/stdafx.h
@ -1,37 +0,0 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Since including <wx/app.h> introduces wrong include order in 3.0.2,
|
||||
// include the grand <wx/wx.h> at a cost of longer pre-compilation phase.
|
||||
#include <wx/wx.h>
|
||||
|
||||
#include "../include/wxex/appbar.h"
|
||||
#include "../include/wxex/comutils.h"
|
||||
#include "../include/wxex/crypto.h"
|
||||
#include "../include/wxex/hex.h"
|
||||
#include "../include/wxex/object.h"
|
||||
#include "../include/wxex/url.h"
|
||||
#include "../include/wxex/valhex.h"
|
||||
#include "../include/wxex/valnet.h"
|
||||
#include "../include/wxex/xml.h"
|
||||
|
||||
#include "../include/wxex/common.h"
|
14
src/tlwgeom.cpp
Normal file
14
src/tlwgeom.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
Based on code written by Jeffrey Richter.
|
||||
*/
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
#if wxUSE_DYNLIB_CLASS
|
||||
wxDynamicLibrary wxTLWGeometryEx::s_dllUser32(wxT("user32.dll"));
|
||||
wxDynamicLibrary wxTLWGeometryEx::s_dllShCore(wxT("shcore.dll"), wxDL_DEFAULT | wxDL_QUIET);
|
||||
#endif
|
24
src/url.cpp
24
src/url.cpp
@ -1,24 +1,10 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
size_t WXEXTEND_API wxURLEncode(char *dst, size_t dstLen, const char *src, size_t srcLen)
|
||||
|
@ -1,24 +1,10 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -88,6 +74,7 @@ wxString wxHexValidatorBase::ToString(LongestValueType value) const
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
bool wxHexValidatorBase::IsCharOk(const wxString& val, int pos, wxChar ch) const
|
||||
{
|
||||
// We only accept hexadecimal digits here.
|
||||
@ -101,3 +88,4 @@ bool wxHexValidatorBase::IsCharOk(const wxString& val, int pos, wxChar ch) const
|
||||
|
||||
return IsInRange(value);
|
||||
}
|
||||
/// \endcond
|
||||
|
@ -1,24 +1,10 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2016-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@ -89,7 +75,8 @@ bool wxHostNameValidator::Parse(const wxString &val_in, size_t i_start, size_t i
|
||||
} else {
|
||||
// Invalid character found.
|
||||
ctrl->SetFocus();
|
||||
ctrl->SetSelection(i, i + 1);
|
||||
if (i + 1 <= 0x7fffffff)
|
||||
ctrl->SetSelection((long)i, (long)(i + 1));
|
||||
wxMessageBox(wxString::Format(_("Invalid character in host name found: %c"), buf[i]), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
|
||||
return false;
|
||||
}
|
||||
|
28
src/xml.cpp
28
src/xml.cpp
@ -1,30 +1,18 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
/*
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Copyright © 2015-2022 Amebis
|
||||
Copyright © 2016 GÉANT
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "pch.h"
|
||||
|
||||
|
||||
bool WXEXTEND_API wxXmlHashNode(_In_ wxCryptoHash &hash, const wxXmlNode *node)
|
||||
_Use_decl_annotations_
|
||||
bool WXEXTEND_API wxXmlHashNode(wxCryptoHash &hash, const wxXmlNode *node)
|
||||
{
|
||||
wxASSERT_MSG(node, wxT("invalid parameter"));
|
||||
|
||||
#pragma warning(suppress: 26812) // wxXmlNodeType is unscoped.
|
||||
switch (node->GetType()) {
|
||||
case wxXML_ELEMENT_NODE:
|
||||
{
|
||||
|
91
wxExtend.sln
91
wxExtend.sln
@ -1,38 +1,53 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.Build.0 = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.Build.0 = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.ActiveCfg = Release|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.Build.0 = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.Build.0 = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.Build.0 = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.ActiveCfg = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29009.5
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.Build.0 = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.Build.0 = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.ActiveCfg = Release|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.Build.0 = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.Build.0 = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.Build.0 = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.ActiveCfg = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {705D41BE-8FE1-4AC6-8E11-A09403E777C5}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
Loading…
x
Reference in New Issue
Block a user