Maciej Suminski
5d9190038f
TOOL_EVENTs of "message" type are passed to all tools
...
Message type is a kind of notification, so it should be received by all
interested tools. It used to be like that in the past, but has been
broken recently.
2017-01-25 11:31:55 +01:00
Maciej Suminski
1102eb0d0d
Store menu titles in CONTEXT_MENU
...
Previously a title had to be provided when a submenu was added,
but this led to storing the same title in many places.
2017-01-23 14:52:11 +01:00
Maciej Suminski
fc7be1a497
Removed redundant CONTEXT_MENU::m_parent field.
2017-01-23 11:40:59 +01:00
Maciej Suminski
682da70a86
Fixed the issue of creating and event handling in context menus (GAL).
...
When creating a copy of CONTEXT_MENU, always a CONTEXT_MENU instance was
constructed, whereas an inherited type should be used. Solved with
CONTEXT_MENU::create() that has to be overridden in inheriting classes.
Event & update handlers are now virtual functions, instead of setting
the handlers with Set{Event,Update}Handler().
2017-01-23 11:40:59 +01:00
Maciej Suminski
75fb04d650
TOOL_ACTIONs are handled with transitions, no handlers needed in the event loops
...
There used to be a number of TOOL_ACTIONs that had entries both in
SetTransitions() and the event loop, which seemed redundant and
troublesome.
Now it is not necessary anymore, transitions setup is enough to execute
associated actions.
2017-01-18 14:20:39 +01:00
decimad
6a9c1cb6a1
Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state.
2016-09-23 13:29:25 +02:00
decimad
ee3d75f273
Add coroutine call invocation context to identify the main stack frame.
...
Run the text draw-tool on the main stack frame.
Fixes: lp:1547282
* https://bugs.launchpad.net/kicad/+bug/1547282
2016-09-21 11:56:40 +02:00
Maciej Suminski
cdc951d0a3
Fixed a crash when dragging a line was interrupted
...
Crash was caused by removing an element from m_activeTools list, causing other iterators to be invalidated.
2016-08-08 17:20:02 +02:00
Michael Steinberg
86496d3141
Pcbnew: fix dangling board reference crash in GAL. (fixes lp:1584489)
2016-08-05 13:45:14 -04:00
decimad
532634abf2
fix reentrant tool state crash
2016-08-02 10:34:27 +02:00
Michael Steinberg
06d4894fdb
boost::context fixes to make it compatible with boost 1.61
2016-07-05 00:14:32 +02:00
Maciej Suminski
33e7fe6211
Fix a crash caused by invalid iterator (thanks to Michael Steinberg)
...
TOOL_MANAGER::finishTool() caused iterator to become invalid when an element was removed from the m_activeTools deque.
2016-07-04 16:12:21 +02:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
Simon Richter
96ec9db5d6
Add missing C++ stdlib headers
...
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Collin Anderson
08b52131df
Fix beep on hotkey press in OS X
2016-05-05 11:34:16 -04:00
Maciej Suminski
031fbb4630
Avoid too frequent message panel updates.
2016-05-02 16:12:17 +02:00
Bernhard Stegmaier
3e2b4244f9
OSX: add support for wxMagnifyEvent on OSX builds using wxWidgets 3.1.0 or greater.
2016-01-24 19:18:29 -05:00
Maciej Suminski
d373915340
Fixed crash when context menu is invoked during track dragging (GAL).
2015-12-03 14:26:12 +01:00
Maciej Suminski
a09d6431e4
Coverity report fix: handle an exception potentially thrown by CONTEXT_MENU::runOnSubmenus.
2015-08-15 16:00:33 +02:00
Maciej Suminski
03d8d6850a
Minor fixes. - Prevent a crash if m_activeTools is empty (should not happen, but you know the Murphy's law) - Better use of conditions in FOOTPRINT_EDIT_FRAME::Process_Special_Functions()
2015-08-07 18:17:51 +02:00
Maciej Suminski
9ecc593aac
TOOL_SETTINGS acquires wxConfigBase each time it is used.
2015-08-07 18:17:51 +02:00
Tomasz Wlostowski
9c2bcb2f3c
Fixed crash on right click on zone with GAL mode.
2015-08-03 11:53:58 +02:00
Maciej Suminski
29cbaa206e
Fixed updating of Zoom & Grid context menus.
2015-07-30 13:49:35 +02:00
Maciej Suminski
094c286024
Fixed issues reported by Coverity.
2015-07-30 13:49:35 +02:00
Maciej Suminski
c9837595ef
Fixed VIEW_CONTROLS too frequent reset.
2015-07-28 10:30:06 +02:00
Maciej Suminski
e9921d8eea
Fixed an assert when footprint viewer was closed before the pcbnew window.
2015-07-28 10:29:00 +02:00
Maciej Suminski
d010703eaf
Fixed cursor freeze in pcbnew (GAL).
2015-07-24 10:58:47 +02:00
Maciej Suminski
d6bc33bd42
Removed a few more memory leaks and fixed crash on exit.
2015-07-24 09:42:46 +02:00
Maciej Suminski
982eee7905
Do not invoke PNS inline dragging when 'Duplicate' is run.
2015-07-24 09:42:45 +02:00
Maciej Suminski
59af7a96f8
Minor code cleaning.
2015-07-15 14:08:52 +02:00
Maciej Suminski
4661e39e08
Fixed displayed modifiers for hotkeys in context menus (GAL).
2015-07-07 18:37:00 +02:00
Maciej Suminski
3cb095b7c2
GAL canvases update status bar, message panel & zoom widget.
2015-07-03 20:58:12 +02:00
Maciej Suminski
766da1e494
Code formatting.
2015-07-02 16:11:15 +02:00
Tomasz Wlostowski
a86fda1d37
tools: added TOOL_SETTINGS class for storing persistent tool settings in config file (just a wrapper for wxConfigBase) router: free angle mode (mark obstacles only) & persistent settings
2015-07-02 16:09:51 +02:00
Maciej Suminski
a988ebaabd
Zone merging (GAL).
2015-06-19 17:32:33 +02:00
Maciej Suminski
dd5275f6c6
Minor SELECTION_TOOL fixes.
2015-06-16 14:51:39 +02:00
Maciej Suminski
5c6ecb0491
Zoom hotkeys fix for Windows (GAL).
2015-06-16 14:22:12 +02:00
Garth Corral
6eaf029a0e
Pinch to zoom for OS X.
2015-05-21 22:54:29 +02:00
Maciej Suminski
da75c52665
Hot keys settings are synchronized between GAL & legacy
2015-05-05 20:39:42 +02:00
Maciej Suminski
99e5228948
Moved the list of TOOL_ACTIONs to ACTION_MANAGER.
2015-05-05 20:39:41 +02:00
jean-pierre charras
2047d87317
Minor fixes (Bug #1414328 and Bug #1440312 ). Remove translatable attribute in a debug message.
...
tools/edit_tool.cpp: remove limitation (GAL mode) to delete the last pad in a footprint (a footprint can have 0 pad, for instance a logo)
2015-05-01 17:01:09 +02:00
Maciej Suminski
8390fec69d
Minor fixes.
2015-04-30 10:46:08 +02:00
Maciej Suminski
e37b07a6fc
Explicit destruction of menu entries in CONTEXT_MENU.
2015-04-30 10:46:07 +02:00
Maciej Suminski
b218c1099f
Added TA_CONTEXT_MENU_CLOSED tool event.
2015-04-30 10:46:07 +02:00
Maciej Suminski
f2788a3086
Corrected way of storing cursor coordinates for context
2015-04-30 10:46:06 +02:00
Maciej Suminski
06b978b829
Refactored CONTEXT_MENU, added handler for updating.
2015-04-30 10:46:05 +02:00
Maciej Suminski
4be876a13a
Expandable CONTEXT_MENUs (GAL). Minor CONTEXT_MENU
2015-04-30 10:46:04 +02:00
Maciej Suminski
946b9d1933
setTransitions() are called automatically for tools.
2015-04-30 10:46:03 +02:00
Maciej Suminski
5c984aa069
Parametrized TOOL_ACTIONs.
2015-04-30 10:46:01 +02:00
Maciej Suminski
b1cd83c197
Icons in GAL context menus.
2015-04-02 16:09:48 +02:00
Maciej Suminski
6083f3b011
Internationalization of GAL dialogs & menus.
2015-04-02 16:09:26 +02:00
Maciej Suminski
589dd442f5
Clippy returns home.
2015-04-02 09:18:45 +02:00
Maciej Suminski
8be73ad05a
KiCad assistant.
2015-03-31 23:45:02 +02:00
Chris Pavlina
be29952819
Fix for hotkey collisions when modifiers are used.
2015-03-16 10:34:45 +01:00
unknown
b3b791961a
coverity common folder fixes (mainly not initialized members).
2015-03-11 17:04:20 +01:00
Maciej Suminski
f7a32e839e
Moved UndoInhibit related functions from TOOL_MANAGER to EDIT_TOOL.
2015-02-19 14:53:31 +01:00
Maciej Suminski
f06690c8d3
Merged lp:~john-j-beard/kicad/moveexact.
2015-02-18 20:27:00 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
John Beard
4f3672da4d
Add "move exact" and "duplicate" tools to pcbnew
2015-02-12 03:22:24 +00:00
jean-pierre charras
74e83e924a
Pcbnew: Fix Bug #1420074 (Crash when a footprint is added to the board (or edited) from the footprint editor, if a new pad was added, because the net info of the new pad is broken in this case)
2015-02-11 11:10:53 +01:00
Maciej Suminski
0001bc2844
Fix for clarification menu crash (GAL/Windows).
2015-02-11 00:23:45 +01:00
jean-pierre charras
7dadeadbf3
bugfix 1418736: pcbnew crashes if "Interactive Router" was selected from the context menu.
2015-02-06 22:01:57 +01:00
Maciej Suminski
2647fdfd89
Fixed context submenus event handlers (GAL/Windows).
2015-01-25 19:11:02 +01:00
Maciej Suminski
7e249c758b
bugfix: Tools are deactivated on canvas switch.
2014-12-10 00:50:31 +01:00
Maciej Suminski
18898fe807
tool: Added a generic parameter for RunAction().
2014-11-21 11:28:34 +01:00
Maciej Suminski
893618bf3f
Fixed a hot key conflict.
2014-07-24 13:09:16 +02:00
Maciej Suminski
aad359fcf9
Fixed Mac OS build.
2014-07-20 20:58:33 +02:00
Maciej Suminski
a525c890fb
Alternative way to handle mouse buttons (GAL).
2014-07-15 17:34:53 +02:00
Maciej Suminski
ff30ced4f4
Cursor position is frozen when a context menu is displayed (GAL).
2014-07-09 16:50:31 +02:00
Maciej Suminski
b1837615aa
Added event queue to handle events at the end of the event processing cycle.
2014-07-09 16:25:50 +02:00
Maciej Suminski
c0a96141df
Added AF_NOTIFY flag for TOOL_ACTIONs.
2014-07-09 15:10:32 +02:00
Maciej Suminski
2b0e27f132
Introduced SELECTION_CONDITIONS to determine which menu entries should be visible in the SELECTION_TOOL context menu, depending on the selection.
2014-07-09 15:10:32 +02:00
Maciej Suminski
95a4f61eee
wxWidgets 2.8 compatibility fix.
2014-07-09 14:23:13 +02:00
Maciej Suminski
456eeaba10
Routines for handling clipboard with TOOL_MANAGER.
2014-07-09 14:01:07 +02:00
Maciej Suminski
94cc845b3f
Added AF_ACTIVATE flag for TOOL_ACTIONs.
...
Reworked the way of processing events in TOOL_MANAGER class.
Added GetCommandStr() for TOOL_EVENT class.
2014-07-09 13:50:27 +02:00
Maciej Suminski
34fbde42fc
Improved way of translating wxEvent commands to TOOL_ACTIONs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f8f6fd41ad
Introduced a new type of action: TA_ACTIVATE to distinguish events activating tools from common tool actions.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5703b7e8bf
Implemented stacking for TOOL_STATEs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5f806cfa18
Minor fixes to the Tool Framework.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f7ecc749f6
Restored std::map in TOOL_MANAGER.
2014-07-09 13:50:27 +02:00
Maciej Suminski
dfc052d537
Added an alternative way to reach tools in the Tool Framework.
2014-07-09 11:59:24 +02:00
Maciej Suminski
2f7706e8cd
Reduced number of switched events, allowing to use VIEW_CONTROLS, even if there is no extra event dispatcher.
2014-07-09 11:22:43 +02:00
Maciej Suminski
60b0a4e0be
Alternative approach to handling events and commands by TOOL_DISPATCHER.
...
Event handlers are (dis)connected depending on the active view.
TOOL_DISPATCHER inherits from wxEvtHandler, so now it receives events directly instead of being fed by external handlers.
2014-07-09 11:22:42 +02:00
Maciej Suminski
3fd26b6dd2
TOOL_ACTIONs are automagically registered by TOOL_MANAGER upon its construction.
2014-07-09 11:22:42 +02:00
Maciej Suminski
f5325f8d79
Removed a redundant pointer to EDA_EDIT_FRAME.
2014-07-09 11:22:42 +02:00
Maciej Suminski
b1a19b1225
Setting proper tool for submenus of CONTEXT_MENU class.
2014-05-31 16:04:10 +02:00
Maciej Suminski
dd1fcd0588
Fix for context menu hanging up in GAL.
2014-05-22 17:59:36 +02:00
Maciej Suminski
ebf35fd43a
Workaround for Mac OS, fixes focus after a mouse click.
2014-05-15 17:08:15 +02:00
Maciej Suminski
def53707d5
TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs.
2014-05-14 16:29:53 +02:00
Maciej Suminski
4577aed921
Minor reorganization of handling custom events with CONTEXT_MENU.
2014-05-13 11:22:51 +02:00
Maciej Suminski
e2feefc08c
Fixed custom event handlers for CONTEXT_MENU.
...
Moved menuCopy to CONTEXT_MENU copy constructor.
2014-05-13 11:22:51 +02:00
Maciej Suminski
05ee03d6b0
Recursive copy constructor for CONTEXT_MENU.
2014-05-13 11:22:51 +02:00
Maciej Suminski
089e99b99e
Fixing memory leaks.
2014-05-13 11:22:51 +02:00
Maciej Suminski
761375ddef
More compatibility fixes.
2014-05-13 11:22:51 +02:00
Maciej Suminski
50193f1751
Resolved HOME hot key conflict between menu entry (Zoom Page) and event assigned to the hot key in the ACTION_MANAGER.
...
Conflicts:
pcbnew/menubar_pcbframe.cpp
2014-05-13 11:22:51 +02:00
Maciej Suminski
8bb5eaa434
Better way of adding CONTEXT_MENU entries.
2014-05-13 11:22:50 +02:00
Maciej Suminski
bff37e504e
wxWidgets 2.8 compatibility fixes.
2014-04-15 16:36:23 +02:00
Maciej Suminski
3f8d9da31f
Key events are handled by wxEVT_CHAR instead of wxEVT_KEY_[UP|DOWN]. Fixed issue of chars that require modifiers (e.g. ? is Shift+/ on US keyboard layout).
2014-04-09 17:33:22 +02:00
Maciej Suminski
50b202fe99
Hot keys specific to a tool have priority over global hot keys (TOOL_ACTION scope: AS_GLOBAL/AS_CONTEXT is finally handled properly).
2014-04-09 17:05:05 +02:00
Maciej Suminski
ba275918e3
Renamed [class_]drawpanel_gal.[cpp|h] to [class_]draw_panel_gal.[cpp|h] to follow current naming scheme.
2014-04-04 11:56:04 +02:00
Maciej Suminski
d876807966
Fixed cancelling dialogs in DRAWING_TOOL.
2014-04-03 09:48:06 +02:00
Maciej Suminski
e79934b03d
If tool was previously active and it is called again, it is brought to the top of the active tool stack.
...
It fixes issue of dragging of items that have EDIT_POINTs, when dragging was activated by hovering over an item and using hot key.
2014-04-01 14:35:09 +02:00
Maciej Suminski
60e9546b62
PCB_EDIT_FRAME::SetHighContrastLayer() went public.
...
Refactored code that handled zooming events.
Added PCB_RENDER_SETTINGS::Get/SetSketchMode().
PCBNEW_CONTROL reacts to hot keys changing display modes (sketch via/tracks, high contrast).
2014-03-24 17:20:23 +01:00
Maciej Suminski
c7116e9d03
FIxed too late deletion of TOOLs.
2014-03-21 17:55:46 +01:00
Maciej Suminski
0694f2fa1c
TOOL_EVENTs autoregister themselves in ACTION_MANAGER.
...
ROUTER_TOOL events have temporarily changed their hotkeys assignment.
2014-03-21 10:40:50 +01:00
Maciej Suminski
bf418eb1ee
Cursor coordinates are updated in GAL canvases.
2014-03-19 14:26:02 +01:00
Maciej Suminski
c5c83bd271
Added TOOL_MANAGER & ACTION_MANAGER::RunAction( const TOOL_ACTION aAction ).
...
Selection clearing is invoked using TOOL_ACTION object rather than its name.
2014-02-28 15:46:05 +01:00
Maciej Suminski
a802ca87e0
Added TOOL_ACTION for PNS router activation.
...
Most of the GAL tools are activated by corresponding buttons on the right toolbar.
Removed menu entry for PNS router (as it is activated as the usual "Add track" tool).
2014-02-17 18:21:00 +01:00
Maciej Suminski
363709e7a9
Added TOOL_INTERACTIVE::Activate().
...
Removed an unnecessary header from class_board_item.h.
2014-02-06 14:45:33 +01:00
Maciej Suminski
5c9e7d9b9b
Merged the lp:~cern-kicad/kicad/selection_tool branch.
2014-02-06 12:48:18 +01:00
Maciej Suminski
81f84748b3
Modifiers (Shift/Ctrl/Alt) are set also while moving the mouse cursor.
2014-02-06 10:43:19 +01:00
Maciej Suminski
b317894ea0
Snapping settings are valid while autopanning.
2014-02-04 09:44:16 +01:00
Maciej Suminski
a73e386505
Added a new tool event: TA_UNDO_REDO, sent after undo/redo operation is issued.
2014-01-30 11:18:58 +01:00
Maciej Suminski
bc71a2c007
Removed TOOL_STATE.idle field, as it was redundant.
2014-01-07 14:11:53 +01:00
Maciej Suminski
3dc9f295a4
Fixed cursor force position option.
2013-12-20 16:07:58 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
Maciej Suminski
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Maciej Suminski
aebb8b3ff9
Fixed an infinite loop in the destructor of ACTION_MANAGER;
2013-12-06 13:57:56 +01:00
Maciej Suminski
c5a1df6216
ClearHotKey() function.
2013-12-05 14:48:44 +01:00
Maciej Suminski
24a317ce28
The Selection Tool is always active. Removed entries for toolbar menu and hotkeys for the tool.
2013-12-03 17:11:22 +01:00
Maciej Suminski
ad3cb1f36a
Added TOOL_MANAGER::RunAction() function.
2013-12-03 15:41:41 +01:00
Maciej Suminski
bec2e9b178
Added some comments & asserts.
2013-12-03 15:17:43 +01:00
Maciej Suminski
4876dbea24
Storing the selected item position from a context menu.
2013-11-29 16:45:39 +01:00
Maciej Suminski
af976b2d36
Automatic unregistration of tool actions during ACTION_MANAGER destruction.
2013-11-28 15:24:19 +01:00
Maciej Suminski
c21ae6efca
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
Dick Hollenbeck
b9bd421184
format string concatenation bug
2013-11-13 13:59:47 -06:00
Maciej Suminski
fc4f9195b6
Fixed wx2.8 strings compatibility.
2013-11-13 15:52:06 +01:00
Maciej Suminski
5235d7e5eb
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Sumiński
6409f7f96b
wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h)
2013-09-29 14:25:04 +02:00
Maciej Sumiński
e1290101aa
Fixed strings for wxWidgets 2.8
2013-09-29 12:57:20 +02:00
Maciej Suminski
35721397bd
Moved common actions to a separate file.
2013-09-27 20:52:34 +02:00
Maciej Suminski
6b74b5771a
Even more code comments and reformatting.
2013-09-27 18:51:21 +02:00
Maciej Suminski
3f320e4d68
Some more comments and code formatting.
2013-09-27 16:23:43 +02:00
Maciej Suminski
87b3f2e499
Added Init() to TOOL_INTERACTIVE, allowing to set up things that are needed to be initialized only once.
...
TOOL_ACTIONs can be run from CONTEXT_MENU after adding them.
Move tool actions are available to be run from CONTEXT_MENU displayed after right mouse button click on selected items.
Added some asserts to check the code.
2013-09-26 18:38:58 +02:00
Maciej Suminski
e6c20adc5a
Fixed premature highlighting of options in CONTEXT_MENU.
2013-09-26 14:29:47 +02:00
Maciej Suminski
61066fa608
Added functions for handling hotkeys, interface for adding TOOL_ACTIONs to CONTEXT_MENU.
...
Less objects are allocated dynamically.
CONTEXT_MENU is being run using its copy (it saves a hassle of following the lifetime of object).
2013-09-26 14:09:18 +02:00
Maciej Suminski
7b7a331645
Added some const modifiers.
2013-09-26 11:22:59 +02:00
Maciej Suminski
d1578e4e1a
Fixed cvpcb build.
2013-09-24 16:12:02 +02:00
Maciej Suminski
96d162c907
Added possibility to cancel a tool that is not on the top of the tool stack.
2013-09-24 15:47:07 +02:00
Maciej Suminski
7db595da31
Added missing files
2013-09-20 18:21:01 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
Maciej Suminski
ab21124b71
Reenabled snapping for tools.
2013-09-16 16:46:02 +02:00
Maciej Suminski
f9cc914960
Mouse movement events are sent during autopanning, as the cursor position changes in the world coordinates (even if it stays still in the screen coordinates). It allows tools to update their state, as if the mouse was moved.
2013-09-13 10:26:08 +02:00
Maciej Suminski
d9ff4b851a
Currently selected layer is displayed on the top.
2013-09-12 18:24:53 +02:00