Commit graph

63 commits

Author SHA1 Message Date
Katayama Hirofumi MZ
29e147beca
[MSPAINT][ATL] Encapsulation: mainWindow (#5178)
- Add DoCreate methods to CFullscreenWindow, CMiniatureWindow, and CMainWindow classes.
- Do encapsulation around mainWindow and _tWinMain.
- Add GetOpenFileName, GetSaveFileName, and ChooseColor helper methods to CMainWindow class.
- Move some code in WinMain into CMainWindow::OnCreate.
- Delay creation of CFullscreenWindow and CMiniatureWindow.
- Extend ATL CImage class as CImageDx in newly-created atlimagedx.h of mspaint.
CORE-18867
2023-03-28 22:31:26 +09:00
Mark Jansen
647f74d4ab
[ATL] Remove some code that doesn't exist in the native ATL 2023-02-20 19:32:59 +01:00
Ratin Gao
21a168e574
[ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)
Application won't be interrupted by ATLASSERT when image load failure happens,
just like it was done in MS ATL.

CORE-18589
2023-01-22 20:38:16 +03:00
Timo Kreuzer
902cdbc63a [ATL] Remove an assert that doesn't exist in the native ATL
This fixes an ATL assert in shell32_winetest:assoc and shell32_winetest:shfldr_special
2023-01-04 10:32:28 +01:00
Mark Jansen
a414c88dae
[ATL] Prohibit the use of AddRef/Release on objects inside CComPtr
This mimics what MS's CComPtr is doing:
https://learn.microsoft.com/en-us/cpp/atl/reference/ccomptrbase-class?view=msvc-170#operator_ptr
The reasoning behind this is that AddRef/Release is handled by the CComPtr,
so anyone calling that is most likely not using the CComPtr correct.
2022-10-02 00:38:23 +02:00
Jose Carlos Jesus
e215a088f9
[ATL] Fix window position to fit in screen area (#4512)
Clicking "Edit compatibility modes" button in the "Compatibility" tab
opens a window centered on the parent window. If we move the parent
window to one of the screen edges and then click this button again,
the new window will appear off screen.

Adjust position of created window, so now it would be completely visible.

CORE-17089

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-13 18:00:45 +03:00
Katayama Hirofumi MZ
dd5a634611
[ATL] Add atlsync.h (#4382)
- Add atlsync.h and implement CCriticalSection, CEvent, CMutex and CSemaphore classes.
CORE-13950
2022-03-07 11:02:42 +09:00
Katayama Hirofumi MZ
7014cf04b1
[ATL][MSPAINT] Add ATLTRACE and fix assertion failures (#4299)
- Implement ATLTRACE and AtlTrace in atlbase.h.
- Fix assertion failures in mspaint.
CORE-17969, CORE-18012
2022-01-23 00:59:12 +09:00
Hermès Bélusca-Maïto
14dbd66d88
[SDK:ATL] Implement GetDlgItemText(BSTR&), GetTopLevelParent(), GetWindowText(CSimpleString&). (#4207)
And add SAL annotations to the Get***Text family of functions.
2021-12-31 02:28:10 +01:00
Hermès Bélusca-Maïto
e60a4f00b5
[ATL] atlwin.h: Formatting, and add a comment in IsParentDialog(). 2021-12-31 02:26:53 +01:00
Mark Jansen
e3402aca65
[ATL][ATL_APITEST] Add test for CPath +small fixes 2021-10-30 22:47:57 +02:00
He Yang
42e111f26b
[ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764) 2021-06-24 23:50:01 +02:00
Victor Perevertkin
34593d933b
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
Mark Jansen
5ea3814a22 [ATL] Implement CString 'operator !=' 2021-06-05 23:28:38 +02:00
Jérôme Gardou
e470b58376 [REACTOS] Explicitly link against pseh & include pseh headers in a few places 2021-04-28 13:10:23 +02:00
Serge Gautherie
49639c7759
[ATL] CWindowImplBaseT::WindowProc(): Narrow 2 ATLASSERT() down (#3529)
Addendum to e076e05. CORE-17505
2021-03-25 19:51:29 +09:00
Katayama Hirofumi MZ
e076e0576f [ATL] Add NULL-check in CWindowImplBaseT::WindowProc assertions
CORE-17505
2021-03-11 21:20:40 +09:00
Katayama Hirofumi MZ
9259ded8ae
[ATL][SHELL32][EXPLORER] Disable ATLASSERT (#3527)
We are not ready for enabling ATLASSERT. Enabling ATL assertions takes time to realize. CORE-17505
- Disable ATLASSERT by undefining _DEBUG.
- Revert currently non-fixable codes.
2021-03-11 20:26:45 +09:00
Katayama Hirofumi MZ
4f83032a12 [ATL] Split CWindowImplBaseT::WindowProc asserion
CORE-9281
2021-03-11 17:18:43 +09:00
Serge Gautherie
0975c5ef40
[ATL] CMakeLists.txt: Use a bare endif() (#3523)
Addendum to 98203ce.
2021-03-11 08:38:04 +09:00
Katayama Hirofumi MZ
98203cea23
[CMAKE] Define _DEBUG for better ATL debugging (Retry) (#3519)
CORE-17505
2021-03-10 22:59:13 +09:00
Katayama Hirofumi MZ
e24d3cc952
[SDK][ATL] Fix CWindow::GetWindowText method of BSTR (#3498)
- Fix generic text mapping for GetWindowText and GetWindowTextLength functions.
- Fix the position.
- Fix the length.
- Fail elegantly if necessary.

CORE-9281
2021-03-02 17:50:00 +09:00
Katayama Hirofumi MZ
ef3e7a3717
[SDK][ATL] Implement UnsubclassWindow methods (#3492)
I want UnsubclassWindow methods.
- Implement CWindowImpl::UnsubclassWindow method.
- Implement CContainedWindowT::UnsubclassWindow method.
- Add SubclassWindow testcase to atl_apitest test program.
- Fix generic text mapping of <atlwin.h>.
CORE-9281
2021-02-28 12:45:16 +09:00
Jérôme Gardou
b0abd14b03 [ATL] Declare pointer as return type for functions returning pointers 2020-11-16 16:58:10 +01:00
Jérôme Gardou
907025a018 [CMAKE] Introduce the atl_classes interface library
This takes care of adding the relvant include directory and the _ATL_NO_EXCEPTIONS define, if needed
2020-10-20 21:44:54 +02:00
Mark Jansen
58092fb4da [ATL][ATL_APITEST] Add CString::Tokenize + testcase 2020-09-07 22:13:43 +02:00
He Yang
e44c9b6630
[RAPPS] application-view refactor (#3003)
* [RAPPS] separate application-view from gui.cpp
* [RAPPS] make the code looks more clear
* [RAPPS] fix &  improve tab-order handle
* [RAPPS] now double-click / right-click & install an item will install exactly this app
* [RAPPS] add handling for DWORD timestamp for InstallDate
* [RAPPS] make the code setting column style more clear
* [RAPPS] change the owner of popup-menu
* [RAPPS] now the popup menu (the one when right-click listview) now belongs to application-view
2020-09-06 17:09:21 +02:00
Mark Jansen
6c37a7255e
[ATL] Add CAtlArray::GetData 2020-04-30 20:38:43 +02:00
Mark Jansen
1437433039
[ATL] Add some hacks for gcc,
since parsing templates is not something it can do
2020-04-04 19:55:31 +02:00
Mark Jansen
a37b5b2f39
[ATL] Fix an ATLASSERT expression 2020-04-04 19:55:31 +02:00
Mark Jansen
008745d951
[ATL][ATL_APITEST] Test + implement CHeapPtrList 2020-02-08 22:09:14 +01:00
Mark Jansen
45d33582e7
[ATL] Rename CHeapPtr data member, since it is public 2020-02-08 22:09:14 +01:00
Katayama Hirofumi MZ
4c0426ec44 [SDK][ATL] Make ThrowMemoryException protected 2020-01-29 22:29:11 +09:00
Katayama Hirofumi MZ
eaa3692f7d
[SDK][ATL] Implement CStringT::FormatMessage (#2286)
CStringT::FormatMessage in ATL is a method to build a formatted string.
CORE-16666
2020-01-29 22:16:58 +09:00
Timo Kreuzer
42d2d5ec9c [ROSTESTS] fix x64 build and fix/disable warnings 2020-01-26 11:50:37 +01:00
Hermès Bélusca-Maïto
1a231e1e70
[SDK:ATL] Fix the size of the ATL_WNDCLASSINFOW::m_szAutoName member according to the actual MS-compatible auto-generated window class name.
The autogenerated name has the format:
    "ATL:<hexadecimal_digits_of_pointer><NULL-terminator>"

and the number of hex digits in 0xABCD1234 (for 32-bit == 4-byte)
pointers (without the '0x') is 8 == 4*2, and for 64-bit == 8-byte
pointers (e.g. 0xABCDEF0123456789) is 16 == 8*2.
2020-01-15 01:14:03 +01:00
Katayama Hirofumi MZ
03854056a2 [SDK][ATL] Use CStringW in CImage 2019-12-23 20:19:48 +09:00
Victor Perevertkin
2f15e2f743
[ATL] Suppress GCC8 warning in RelocateElements, fix build. 2019-10-31 02:44:20 +03:00
Mark Jansen
610b852451
[ATL] Add a minimal CAtlArray implementation 2019-08-11 21:46:07 +02:00
Mark Jansen
ae69b1fda2
[ATL][ATL_APITEST] Add CAtlList::InsertBefore/After + test 2019-08-11 21:45:56 +02:00
Timo Kreuzer
48f3efa254 [PSDK][CRT] Add some casts to make GCC 8 happy 2019-07-20 13:56:18 +02:00
Mark Jansen
58362b229b
[ATL] Add CRect::PtInRect 2019-06-26 21:20:43 +02:00
Katayama Hirofumi MZ
c714b7fd67
[ATL][ATLTEST] Adapt to RATL and improvements (#1501)
- Modify atldef.h for non-ReactOS environments.
- Update ATL testcase project files (from v120_xp to v140_xp).
- #define HAVE_APITEST and use it.
- s/NULL/0/
2019-04-20 08:35:39 +09:00
Mark Jansen
9824a0154e
[ATL] Retire atlnew 2019-04-18 19:21:37 +02:00
Mark Jansen
9853cc4d7e
[ATL][ATL_APITEST] Add test + implementation for CAtlFileMapping 2019-04-18 19:21:37 +02:00
Katayama Hirofumi MZ
572e028de1
[SDK][ATL] Independence day of ReactOS ATL (#1473)
Today is the Independence Day of ReactOS ATL (RATL). CORE-12935
https://github.com/katahiromz/RATL
2019-04-05 19:45:45 +09:00
Timo Kreuzer
f5f6ea2965 [REACTOS] Fix 64 bit issues 2019-03-04 21:58:42 +01:00
Mark Jansen
f9e50f5471 [ATL] Add GET_X_LPARAM and GET_Y_LPARAM to atlwin.h
Remove all local definitions
2019-01-15 14:34:53 +02:00
Mark Jansen
69893ccf38 [ATL] Improve the order of operations in CComPtr and CComQIIDPtr 2018-08-19 17:35:18 +02:00
Mark Jansen
09719d25c4
[ATL] Fix the CComQIIDPtr template. 2018-08-05 11:54:56 +02:00