Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2006-2024 German Aerospace Center (DLR) and others.
4 : // This program and the accompanying materials are made available under the
5 : // terms of the Eclipse Public License 2.0 which is available at
6 : // https://www.eclipse.org/legal/epl-2.0/
7 : // This Source Code may also be made available under the following Secondary
8 : // Licenses when the conditions for such availability set forth in the Eclipse
9 : // Public License 2.0 are satisfied: GNU General Public License, version 2
10 : // or later which is available at
11 : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 : /****************************************************************************/
14 : /// @file MFXLinkLabel.h
15 : /// @author Daniel Krajzewicz
16 : /// @author Michael Behrisch
17 : /// @date 2006-03-08
18 : ///
19 : //
20 : /****************************************************************************/
21 : #pragma once
22 : #include <config.h>
23 :
24 : #include "fxheader.h"
25 :
26 : /** A label which points to a link.
27 : * This class behaves very much like the FXLabel class but it
28 : * points to some link which is started when clicked.
29 : */
30 : class MFXLinkLabel : public FXLabel {
31 : protected:
32 : // FOX stuff
33 0 : FXDECLARE(MFXLinkLabel)
34 0 : MFXLinkLabel() {}
35 : public:
36 : /// Constructor.
37 : MFXLinkLabel(FXComposite* p, const FXString& text, FXIcon* ic = 0, FXuint opts = LABEL_NORMAL, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0, FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
38 :
39 : /// Destructor.
40 : virtual ~MFXLinkLabel();
41 :
42 : // FOX enum
43 : enum {
44 : ID_FIRST = FXLabel::ID_LAST,
45 : ID_TIMER,
46 :
47 : ID_LAST
48 : };
49 :
50 : // FOX messages
51 : long onLeftBtnPress(FXObject*, FXSelector, void*);
52 : long onTimer(FXObject*, FXSelector, void*);
53 :
54 : // open the given link in a browser or pdf viewer
55 : static FXint fxexecute(FXString link);
56 : };
|