www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/08/02/11:26:19

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:from:date:message-id:subject:to
:content-transfer-encoding;
bh=UAAmMB9YJP+Oxvm4ShdAMXvwmzFVdW9WC0RP/qkE6Dg=;
b=Bck1vGMer+LYlTve794DM2lsWOwdHAgf4MWulXGXC1ZJXCed8DqSUrULzsznr9pPr8
afrQicISWnwQieA59McsLWlY4ei6lvBHEKjZRiW//gLjYt6XPxICo1jzJ1LS9K6tHEO5
UViwPnJbxlCdRvNhxmYYNDJ/OzJsw5h3RGvGe9b9AwjGePnbwyk5jJgFkSFE/qouk0sN
tKh07coCJAiHaP+hM1A9TF0EX4R04LoNPOEcbpddG7/W0UIN1zfpqLSUgprWZ6AD2CrR
L+LZgm4knWgOWrI3tCGUT6TbXCII+Z7P1Njz8P6x43CXR4xKVrXf3aL6kHPfYncGx1Pc
IhlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:from:date
:message-id:subject:to:content-transfer-encoding;
bh=UAAmMB9YJP+Oxvm4ShdAMXvwmzFVdW9WC0RP/qkE6Dg=;
b=COFJ/fpgEcZSlVmnFb9nHQmxlMN7Cb3gWf1BuhqO+q1+skmxbJNIy8SFRrWsA3jLBr
Wo/SbDbTmM3UQgmU3DN53I8X3IEHWRof7jM0GFx0gXkgcecjA4t6qkhbcECh4fUVPJSj
ITLCsmcXt2SRVu+MmVGi8tNhfRiybOgr9HG5P1Y+MSCI/dKKBFjjxOw8aaXV3VtZXU5w
vPvK3cT0leg1NaP9gpFKu8kAa07C/kpfIHBLkg/WW1XATirKglnYzIPc9merdsAqxzzJ
c+lIrflxbnZvp0c8Yolv5VkI0x/4TJwfVJi/pn1GV1yBbnfgFDFBoi6a/jVIp/x8xo6O
7FFA==
X-Gm-Message-State: AEkoousbvwE5OYALIlvMgaS0vKjqzQoX8pBhgYTspU53m6TSVlAMeyRPgu8Oi8JLXt7ODKastRP9x/R/oV3/lQ==
X-Received: by 10.25.163.132 with SMTP id m126mr21450939lfe.56.1470151492289;
Tue, 02 Aug 2016 08:24:52 -0700 (PDT)
MIME-Version: 1.0
In-Reply-To: <193dbc32-63cb-2643-b741-d6bfc6a268e2@ecosensory.com>
References: <20160723065723 DOT GC17595 AT localhost DOT localdomain> <alpine DOT DEB DOT 2 DOT 00 DOT 1607231009290 DOT 7286 AT igor2priv>
<20160723092248 DOT GF17595 AT localhost DOT localdomain> <alpine DOT DEB DOT 2 DOT 11 DOT 1607231423480 DOT 2224 AT nimbus>
<20160724053502 DOT GM17595 AT localhost DOT localdomain> <alpine DOT DEB DOT 2 DOT 11 DOT 1607271434200 DOT 1841 AT nimbus>
<9719FF2C-AC85-4824-89E9-447216E7FA65 AT sbcglobal DOT net> <alpine DOT DEB DOT 2 DOT 11 DOT 1607301258260 DOT 1409 AT nimbus>
<939E39F7-B4DA-4B56-A640-C7E6E4ECF955 AT sbcglobal DOT net> <f5b0d73a-6d4f-d0d6-c67e-d4dea979b974 AT ecosensory DOT com>
<20160802122208 DOT GA12372 AT visitor2 DOT iram DOT es> <193dbc32-63cb-2643-b741-d6bfc6a268e2 AT ecosensory DOT com>
From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Date: Tue, 2 Aug 2016 11:24:51 -0400
Message-ID: <CAM2RGhTEqBSCYSPDq8csDV+SBrYvhE4cJ1SbtKHHENNyq2jytA@mail.gmail.com>
Subject: Re: [geda-user] Plans for gEDA/gaf
To: gEDA users mailing list <geda-user AT delorie DOT com>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id u72FOwRQ006608
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Tue, Aug 2, 2016 at 10:13 AM, John Griessen (john AT ecosensory DOT com)
[via geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:
> On 08/02/2016 07:22 AM, Gabriel Paubert (paubert AT iram DOT es) [via
> geda-user AT delorie DOT com] wrote:
>>>
>>> Why not QT4 or QT5?
>>
>> No C bindings for QT, unless I missed something. It's natively C++,
>> which is a big no-no for some people.


How about SDL? (Igor2 was talking it up to me a while ago)
https://www.libsdl.org/
"SDL is written in C, works natively with C++, and there are bindings
available for several other languages, including C# and Python. "

>> My personal feelings are quite different, I hated C++ until C++11
>> arrived. C++11 (and later) really is a different language altogether.
>
>
> So, the straight C GUI toolkits are limited to GTK+, XAW?
>
> Searching on "C bindings for QT" gives these interesting results:
>
>
> ============http://stackoverflow.com/questions/1728509/does-qt-have-a-c-interface=============
>
> To use Qt, you must have a C++ compiler. But it doesn't mean that your
> "application logic" can't be written in C, compiled with a C compiler and
> carefully linked to the C++ part (the GUI with Qt). This application logic
> can be generic, linkable into other executables (pure-C, mixed C/C++, etc.)
> It all depends on what you need.
>
> you may shape your program as set of libraries achieving your business logic
> and write them in C, then you can use a little C++ to bind what you wrote as
> library with a GUI using QT.
>
> This is a good approach also because later you can reuse your library and
> implement many other front-ends with different toolkits or languages!
>
> https://en.wikipedia.org/wiki/List_of_language_bindings_for_Qt_5
> Qt 5 language bindings   go, Python     PyQt[4], Python         PyOtherSide
> – only for QML,
> QML     QtQuick  – built into Qt[5], Rust       qmlrs  – only for QML
>
> From Richard Dale:
>
>     I used to maintain C bindings that were used by Objective-C and Qt#
> bindings. But the Smoke library is much better although it isn't a C
> binding, and I scrapped the QtC bindings to use smoke instead.
> [https://techbase.kde.org/Languages/Smoke   "The main purpose of SMOKE is
> making it easier to write bindings from scripting languages to Qt and KDE -
> with an emphasis on ease of use and flexibility. "]
>
> ============http://stackoverflow.com/questions/1728509/does-qt-have-a-c-interface=============
>
> ===============http://endl.ch/content/cxx2rust-pains-wrapping-c-rust-example-qt5===================
> Rust and QT seems a time pit:
> "Another heavily used feature in C++ is overloading. Apparently Rust doesn’t
> support functions overloading either. Yes, I know it’s intentional and no, I
> strongly disagree with all philosophical reasons that try to “justify” it.
> I’m developing software in C++ starting from 90’s and while I’ve seen some
> rare examples of poor functions overloading use - this is still “must have”
> feature for any non-trivial framework, both from convenience and learning
> perspectives.
>
> Anyway, arguments aside - the lack of overloading means there’s no
> reasonable way to use C++ methods names as Rust methods names without some
> form of deduplication. Because there’s no way I’m going to maintain the list
> of “intelligent” mappings for all Qt5 methods, the renaming is done
> automatically by adding a number after the function name - hence
> “QString::new7”, “toString2”, “arg12” etc.
>
> There are 5 overloads like this in Digital Clock example and 26 (!) in Image
> Viewer.
>
> Note this is completely non-obvious for bindings user (why not “new6” or
> “new8”?), require lengthy look-up in the generated bindings code for each
> such case - plus can easily change from version to version if overloads are
> added or removed, breaking code compilation."
>
>



-- 
Home
http://evanfoss.googlepages.com/
Work
http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

mQENBFYy4RYBCAC183JomLtbdAlcKiaPDoVHq52LDmVmH75aiEc69m7YxDt54/ai
VtYCAobbGVIyn3Hlz3uhF6LnPl/6Lm1VdnCfpwu3KQhCO6ds10ow2C30X4ohCqOd
hCVg5C+ILmQkEffFrFODy3ji+PYTF4pADvHCWsTMv0hf0llwFOJsBCK6cl02IffE
JPqy4PjM1nZ9HpzT84JBaG/4OGvTZ8SQ2yFUl265jagvygPTf88H1xpZHH1r8dB1
stjUHLmPH8AOyDgKxFchgGeDc3p/vJtgDDIXAFfDXG0NSRovLmtaQdGxe47Zf/go
bXiEM7YL2WqQe5zfEA919JxkEwlDKYniOSVzABEBAAG0N0V2YW4gRm9zcyAoVGhp
cyBpcyBteSBwdWJsaWMga2V5LikgPGV2YW5mb3NzQGdtYWlsLmNvbT6JATkEEwEC
ACMFAlYy4RYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCIpQTcE8nN
bbBaCACAm8pU5lG1ev2Fsw68Axtcl57SJrYieqX96c3YuYH9JpqMqJRnd9nDKw9X
tQuvuH7tUk0VbOaDqReOYJVI/4c5wb9AaOFp6K2DUcupq6XhgXpvz3HzoPwjAdIj
XuQzdRUx5+innTJrSkGuBYW/CZ2zqEx4xfLlq4rO0hoTUMR8QVp2cCrkw6BT0m86
APIw/ZnjoxM8IEzr7MxfRIg3qpzrZk28rmhx+k78Jyk61UhwcCPGIm/pjUopTwYJ
3YBdRB2cYD2aN7A1JVf5cRmSQYooHBGpH0kYvomGk97PKqypVuJ7OpG9xM58wUcC
qUVt9hKlePLzP8csYjt8onqI7qIIuQENBFYy4RYBCADlH8spG3WkCx62vB5mr5Z0
SCDd/RcyA4A5y5EOj5KurQkrSWpgi9Ho1yKruMJ6blQR2qkc66KqH9pnXDm/ZI1M
K/wdW3ngETxBmXoozzFMT89aEWIVR5/PFodWK1elekE9iJxACuR98Zg2QttTD3x8
A9w8VEyMLOXcDTrPFpHegMKswFBg5iuMulAdXAoGejWTI3n+qKFpabHm2Lfs6wjk
5rjucpTdeFK6UeWF1xAvNxXibuu5BlGwv53930qIXRwO/Gn2Rh5DXWxKU2fEIme/
xgQQmIsDeUoWbfybdjw/x7Q0LW4mINiLDQcGHHRQKFIxbAJCT3USPLGh5xwE9/Er
ABEBAAGJAR8EGAECAAkFAlYy4RYCGwwACgkQiKUE3BPJzW0uYAf9Hf30n8tM3mR2
Zo6ESE0ivgdgjaJtAWrBUx7JzAzPjBnBOlNnu5Y9lVEqetvUPH6e3PvaHYUuaUU8
0HwxuKBW9nUprgV6uIu1DZmlcp+SxpbuCy7RDpNocRLNWWFMaYYzznmTgfnTgD4D
gCq8Mf1mcfrluTkOAo+QNqbMfl1GISClopRqxVuAo59ewgMnFujwgd8w12BwWl24
CzqOs5HqcUslePj+LzcjSNgVCklYwKl+0dsb/fctMOCtHodwqm2CBJ+zydvNmYkD
fxda/J91Z1xrah5ec++FL0L4vs+jCiIWJeupJFKlr1hCMZiiGH7W554loK5l4jv3
EY347EidAw==
=Ta4p
-----END PGP PUBLIC KEY BLOCK-----

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019