QgsAttributeTableBase QgsAttributeTableBase 0 0 645 718 Attribute Table image0 unnamed layout5 unnamed btnStartEditing Start editing spacer3 Horizontal Expanding 31 20 btnStopEditing Stop editing spacer4 Horizontal Expanding 41 20 btnClose &Close Alt+C tblAttributes 7 7 0 0 spacer5 Horizontal Expanding 440 20 mDeleteAttributeButton Ctrl+X image1 Delete attribute mAddAttributeButton Ctrl+N image2 New attribute mInvertSelectionButton Ctrl+S image3 Invert selection mSelectedToTopButton Ctrl+T image4 Move selected to top mRemoveSelectionButton image5 Remove selection QgsAttributeTable
qgsattributetable.h
-1 -1 0 5 5 0 0 image6
89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff610000025249444154388d8d935d48536118c77f679ba673f991df5186d887695b88d0c5b988cacca032a8209408cc20f022ba8c82a08b4008c1c88bbae922508c50b22f2856328bd345503ad1fc4a9142749b9b9aba73b69df376315496337cef9ef7799edffbffc3fb97144561b3e764972cccd9f0e711f43c552400cb6616ab9ecbc2b21dcc39a04f43646cad678ab750543422cacb8745724aa7b0a5b5890795a708f749e853a0cfc4ceae0394954d88ccac59de757771ec680b4dcd1fd8b7670ba965668c59080fff0760b70f0a4be224bfe67ae9e81c22e0576975fee0ea8bf7e8f350bfd3813461de1890943487676994a5e530e3a30b00582fc0b4b1c899c4ddd4d515d370c51e1f1008b48a88e425a88508693a9e9920b6063065c25e4f16d7ce1fc0b6358182425b7c4069a9400b2fac3642ba8e390f0c2f9ccddd4f7e7e4a549175030b6eb79f085af4d224b1a32283ca623b155a09976bcb912409009f578b0fa8ae6ec717500148b65aa872ec22b1dbe07a4d09e9d916228681a6e97cfbea8d0f501445faf2c9831a8c6032490c0c4dd1f67880c2826d04821e42611da5671ae7dbdf284af417c6000ed7cae286dbc9fdaeeff8bc416aaaf7e238984d4e66060083fd7e9a1bddcccf6bb85c0f450ca0a24916492740f74247df08f5773fd2df3bcbad3b87f839a9a21b068b8b11fc3e1d557dc2b2ea5bb520ad8449966501603d07ba0fb49ee8c02be7698a1da90064a5e4f2e6f50475975ee2727d8e0dd38aafe32db210da5a7df3f64571a4328fb4f404c6c7fae9681f271c365615ac4be3721b9873d7eac67bcfa41575ff3e06f017ba4af70a9400e8650000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000051c494441545885c5975b6c54551486bf33a773e9b433bd514a6da5e1a5d0c83508690413a554437c5113638c064413697800ac46d49426541f888a821853224aea830f4431f062300ac4c44a8c142397848a896d436387a1b7296dcf9c7df1e1cc4ccf995e6895a42bd9596b9f7df9ffbdd6da7b9f6db4b7b7339f9203d0f85b85d64a22ad71949428a95042a144ca76d7854229474b215152a38572c6b9c648295142a3a474da337d6cd4a51d00b4b7b71b46ed916e6df84c4a0b0248a190b67674aa083b6d6ba4ad104221d3df6c85103a637bfadb1a91015668a550b6405931b415832baf3a1e307c26ebaa0ba92c0963db60db904c7a8be5b6ad2c9d84a4e5d43376126c036c0dca00fc297f2b853176011dd09910f8800970e1101002849c28d2559402a91cad14a8d437a5bd5a2bd01aaff87c187ac1e41c48261d505b78b5145ef00c09e990f0109293094d22305d126e2877ad203da99c98782a12e992ed2191262f3552824eb17094c68a8779ef2b37010d8f2cbe3bd3d98ad61aad41299db275ca76da8687723d047c7a367efa1fe03a150a3719b7dc3302d3817beb1aa594675c8e76316a69699916a0b9b97956fda693c6c637523b278b803b55dd203389bb5f7aa572dc62f4ea35c67b7ad05ae3bfaf82e0b2a51881606ae54c19829cff1302ad35f2ce18b1cfbf60e4e4b7e48d8e22eeaf4484c3843a3b898572c9a9db44d1f35bf19796de3d047305b7e3b7f9bb612791f1712a7736606edc80198d38ed5692fc8e4b8c1c6fa3f7959729dcff0e91e52b9072060fcc25077284e0d19f7ea6baba9ad09e5d246ff692ab24727030d32f54b314fdd28b18e7cf73abb909ffb1e3538440cd2d07b486a6a67df41efa185f5e3efe6d5bb16ff612a95d4fe2c2aff8171467fadaf17e22b5eb0128e9eaa6bfad0dfdcc739ef9e6b40dd3fb595a168953a7093e568f1c19216fed1acc4884bcb56b48c6e2246371ec783f85f575989108664114e3e18d70f607c60707bc1e609639e03e4c46af5e259c4c228b0a51f13883df9da160f326026565e4ad5ec9e81f5728acaf03e0f6a9d3e41f3d46c570026d59243aaf7b09cc36079a9af665089c6c6d65737131221ec7304df0f9b87de26b8a9f7a9260650581fa3200129f7c4af8c773041377c080906922fbfa80321701d7ae982a07dc2b4fefe72d5b9e40b51ec5eceac1080430020142f15bd0178377f73b032ffd4ee4c4378e6d00da0718283d87a3782af0f421a3868628b9de49f1e52b145dec201c8d127481b366351c3e982260408e89a504baa8682e0426836bad092d5b4a2214c2300c0cd387b17a25e6fb079c41bb1a61f76b1912fac847c8702e321462d01f40552df160ccfa2ed8bbf7ed0c8183470e5153be90e8c818e1ca4af2b76fc30412070f212c0b6a9641eb67e437eec6bf6a25a39beb183e7b8eb1da87f0470b81deccbcc6f2e66bfaf2fe1a0fd84c375ada137662989e861d142c5e4c60410981aa2a925d5d938807aaaa18b9d841ff9f37d06f35a3c211d6357440c70ba910646dc399afd389309879f92c3cf00143dddddcb9d98bdd3f802f1af514231265a0fd17fa6ffc85d8f33af9e595f87c6656085c397037f0ec7a70d1224a3f3cccc0976df49df91e7f7919c14227c9acc101ecde7fb057acc2f7e6760aca2b090482a013937320911845298552ce6da553daa96b4fdb547dc4d3cf92dcf438a39dd751b76228add1d50fa0aa96e08f16120c8518498c804e600b31d9030fb674661e104a4864f64bc7fde271bf98b2da9434701f324eb2f5329318c0bdfb29fc0fe29b4f700063be5fc7f3ee817f01a283666e27750abb0000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000003e3494441545885c597df6b1c5514c73fb389e96c1ba9f80b445790d05a5b5821200812f12fe84b84481312cc8b0fdb1705c180f1c13c88824f765fd540a34d9ffc1384c2d207492458ab8520989792da40b3893bb373ef397d98bbb3333b3bd9441b3d70b9bfcebddfeffd9e3373b95ea3d1e0ffb461800f7e7a5e552c360c106b112b8811c4b876ba6f0491b8b6c622565123f1bad41a6b2d6214b1369e4f7c2264fd3d001a8d86e7bdfed59fea958678e6f408d60836d2b876c5449db66223c118c176c622c1184dda19ff483109b0a022486490701b0db7e197f76305bcd210af9d7d82179e3a4914411441bb9d2d61ba1df6d46d6887713f69b721f22052100f78cce92d82d7ba898e68128212d00537310163c0d86eb1a9220256e25a04c48d89666b1550256ba5129e3e9dcf81763b068d4cb6b6260b9e90b031890c219b2794235094846f3c973a416753dbddb81f894ee955c874c85bc55a50c722ae94f0af937cf15d9a80c25b2f0e667a5853555441445d5b5d3b9edb7d50ce1028e96174fa17e0ea42912693b64746a0083cdb574424b36e58538c969797fb6e3e373797e917f91d64939353eecbe921904ed55ea0224bfb15cbae3d79c0a30fc151c1fb85a0a4f2cf08a4c18ac1c9f9589bc51b4e2b701c3930b5b7c8eae812172fbeedd4ca2ac0f8e79b7a141351b556d418abedb6d1308c3408226db5dababf1feade5ea0cd66a0bbbb2d6d5da9a82adaba52d1fbf7f7f4debda6fe7aeb0f65fcaa020ae89172202f7991ecf964ebcce7929043e6402f78faefd60fbc7bb0f36ebdf60dc1a1726076762e03beb27235e733b5b708c0eae852776c02e0024cdcec92b3426b7e01e62b942f6fe1bdba74477ffef8cc114e9e5762e8db33f8b52de00441fdd964ad5f9b064e0021417d2535beedc62a59058e0e1efb44b377a07e16bf66f16b63041b9b6e87978153c03e4c38f0ea186009ea43942f6f0d223008bcdb0fa67f83fa39fcda69fceab4031f039e0476f0ab9f02bf03b7137038e45d70e9d24c06ecfaf5effb331e5d62aabe08136bf8d52f1df805e01670976063056e6497f4bd0b0ebad1446072f29d4225b8b658a868c7ca5f7f06cce41518043e28274e5d3b8f5f1b075e01f6811d77fa1d603f0e4df5362d1628af3905d2393008fc203231f836f020961a5cdcef02fb041b9fb8b131fcda362d2a2e09456936ff464410896f2b7575dcd7cc5c3f9f977e7cd37d8610d437930351fd011801da49ec831b9bf8b510bfb6458b0adeb98f363479f1d8f865637b5f3ae9174ffac5949a6bce7cd81363687db3805f7d9c60a349f95d3736bf90cb093dae92be8c8a7c4a393affb10d371a0defd8765f9b4a32bc08e75815581f5ff5827a85f5f1d5c2433e0408b53ab378bd0d870000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000560494441545885c5976d885cd519c77ff7cefbec9dddedec6e24d9acae049b178435d69a340a5d2c51ab82151384a2224468fac1405a42da92a804634b04a154a59f0485e6834d51f48b52a311ed46a926be849880286b9a4637fbe2eeccce9d9973cef3f4c3dd9d9d3bd9dd6e14cc0387739e7bcf39fffff93fcf3d338f373434c4a5b424c06fdeef551587ab5511e710278815c4ce8c9b7d2b8844bdb30e718a5a89d635ad71ce215611e7a2f78d390639fe2b008686863c6fe35fbe54cf4fd0d391c659c1198dfa9966cdec587146b05670b3cf8c60ad36c6b1f946b10d604145106391da085a1b81133b23053c3fc18f7fd8c9caae3cc6803150afc75bad795c6be9eb50af41b50e3503692b18a394c304b60ace0352337a8be085efa2698d87a0016e2302d6827573cd3535117012f522d1dcd008c562c815fd69d62eabd1990e79ffeb22a74f859c3c95a756f14101dfc7d36ef0be8813a8d7a38d8c8df7cec6c11b245c44a26660a222fc7cdd041b5767b8aad7a3900b80801baf143ebfc2e3c5f6310e1ded41ab8b24e10dcb4174e654b3a79c019179083807136538f49ed0179c6774d2f2cce180d0fa5cd931c6eae570f98a0e32a936365d9d60221ca7abad8355dd501bcd73e060330185c1cb2ffef3d9fb8261744ab86753175b362458bddc23e1c3e9fffe80973f105e3c5a66e5b202c53c789976828261c79d3e36ccc509a8eac2288bd8bf3eadf2d76d7936ad4e904e46cf5495ae007eb64e393392e2cd5396be9e2c55031f0d1b3efcc282514817be3b81371e29c47c55a56694e78f84ecfb8785543b859c477b05b26918a9e4b8fb69250c81eeb58d75be4a1301cf5bb835db3cef3ddf279b493076ec69d607431452157adac1382885506c836505e1babe328c7e3aa700cd0a2c558da679aa8a2a8828aaca3e55a62aca9e8353bc745c287606a8c2c4b4d01f9c67ef1dc26dff2ccd11f8b621980f7cd60fb2f0f0d63682cc14cf1f55ea92a12733ce13f7e6e90dcab13de221f816e073c073be88d291f7d8717b811bfacb74a746d9b735cdda95499c8be3c515688d751c3136cf036667271658d206ac7b783f6b2ef3d93cf010be0722d242402e2e0754419d344eda7af2567f578bdf4ac06f56c0094c8450ae2d021e937c71f0f97c6909b9cfcc0327f0ea09d8f65c955d7f378c9517078f36bc38f028615b4330a3c0276760ffdfbee2bec13c9f7d65b8efd18f1968fb37b944f42bb267cfde06f8e38fefffbfa16ab5eddb774664dc0539001f0d2b7b5f30dcbc3e4f32536055af7076f227845d83fc7e8b4790693e39ecdefd87799558aa32b1104c5792ec3e6849798691b09de3c31e27ce26e80892bc7552f8e34b86f353d2008f878105c117cc9116659267ff53e09ca7b4076d2c1b8315c5e84fc899b124e36578eab53ac53cfc7a739a54a2157cfe9c584c89564bf6aef88643db3b29550df73f798e54b28f940fdf94aaf4eb7b5cbbfc24a31f4c93ba756763f33f1d38c099e9cb38f2f5753cb0ea9525e5c0b66d3b22f95b4824b319c3407f924a4d19bca6c891d38ece2049479063b8b4813baf1de0f61f65b14eb14e387dd652efdfce3bef56d9329865c75dbb96acc4bc2198bd8872698fbbaff7397ca2c264a5403ae1d196cff1e7d77d9e3d324d909846f099ace7192fc12fd6fb3c7853eea2c05bef0068ba883c0f360f64f9edad96caf4246353756a0672d90c3659e4bcebe35cd88d71091eb8d1f2d82f3be869f7969480cdef5b1321a9a2944a1544041165eb069f42aac6736f871c1bf6709a02942063d9d8efb8e56ac74fd7f8d44be38c4c466b44a571cdce8234609ac3ae8ab13646c05bf3bb8fb551f1b8a8b2691426461b55913a3b53d9b8b98ac9ba0b2aa825dbb17b23025c9097dfaff997121cc0bbd4d5f12557e07fb39aee2c0ec7acc40000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000004f9494441545885c5975d6c544514c77f73b7bbed6e5bb61fac69692188b180a131102418c5484a4244830f12e3077e441351a3067910a3d8441213e141447ce001c410427c91c893318ac6974254f005500143a8a4d46e816d77bbf4ee9d99e3c3dddddebb2dfd48309c647266ee9c99ff7fce9c397347f5f4f4703ba50a60cb6f6d22d660dc51ac315863b1da6275b11e6c6b8bb5be36da608d20dafae302638c31582d5863fcfeb28d87fd7d13003d3d3d4aaddcd32bca89904ac630da623cf175b168af54178c67d1da624adf3c8bd652ae87ec3d4197812d622dd6d35877007107e0f4dbbe079413e1be8e06da9b13781e781e140ae1e206eb6e852e40c1f5dbe57a013c059e805540b4e86f6b51374e2031296f81038c816b9f80d6a0cd583181622d18eb6b6bc116bf59096bb12042581c0725b3c7c740a1e0837a3aac8d0e839749189f448890194f681c819b05e103ad811594263563134f44a2542a3da44be48d600c489185af047730c1cec34102020fcf9b9ae974454410016ba5589762ddef1b1e8a870838321d3fcd8840185c8a5b11241394aa5b4dc071148ea326eccbe546b1d65610083252130f04c2113599dd24e3fd9353412034f174bd11b02bb979d4b59cb934c23f691711614e7394456d71625185885057b4bda55b20228c8c5af67f3bc091e359f2b68eb98d1e89a8e6af811ae2aa9faece18cfae9e4dca946260b22d9821f8e09066d3ee8b8c52cfebebdb7970718459890800ae279cba50c717c772bcb2e7121f3e3d9b2577263166120f6cdfbefda680dddddd213b2d55fc7c6d351d1d1d6c7eac86fa780463e1e8f1eb65bb873a67f1d17331f67fa7e83e3cc8be37aac779402ddbf1b79c7c67c10c56eeaffed3237dfc70c6e1fd0db5c463feaacff6e679fcfe26ea8b5e38742ccd3df3125811761dcd7057538e275744e97cf1049cda08cc300f94c0dd82e1e88961d62e8d911b35a4870b9cedcdb36e4543191c6063578ab3bd7906873c562d56fc78da703d3b1a9ad3619a31104c26672ee52990a0316e486734e98c66cdb2244df5d171e33676a5f8e97c2d874eb6e1aa24e7fa0aa1fe69c7c0b66d1f9409ec3df0354d756b480f6b224ab16155132d8d31002ea75dda53d5009ceff3b87b4e941dcfc478f34bf8e58f1a06325e0581404c04036da2954b31993cb2ee51f67eafe9bd1a2156a528183f316dfbca65c95c87a752fed897f645f9ec79583a1f50a00019770c27898189c04b496628eff1e755ff6e7fed0008062b5116b43aa139de3ae827ce8802a35d1a6ac3185310180f2e222c6a8f53a3fa71548bbfaca2783a0c5ee50855118ba3fc3f9f82c930bf399cc6438968b218d8baf5bd32813dbb77d2ca6272ee2cdaef4884ec52891a200e404773a6fcfdf2409e950b3c92b5b13081605e2fc540e5751abedb61cb96ad64f31eaf7e7e9198d53425c7261dcc5820cec57e97967affc85d1b2a60f2d759bf2646752cec01a732154f061e8c89da9a081fbfd0466fff1057d22324e38a86844326abd975e45fbee9c9908c2baea447b8d07b8dcd6b1d5a530d384e2484178a81a9c02bdb2d4d357cf2721b078fa5f9eed7015a1aab68a8f78f6026eb72e5aa4767bbf0eefa6a5a530dc462d520d90a0256c866f3586bb1d6bfada4a8fdb684fa26b279627984ae858a737d37480fe7106b59d80ef3ef55246b7db7e7b239902c9ed6e33db07cfbb9f203c26a83a97ce9045f3cc11753459f35e1333e1d51c0adfd279ba138539bfcbfa26ef7ebf8b67be03f2ea12f6123e6fd580000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000028e494441545885c5573d6fd440107debf3457024020928101125151252040889867f430d75b828a6828682bf80f829270a241a44118902ca882a51e2b377661e853fcef69d89ed5c744f5acdae7766e779f6d9ab75b3d90c9b4408006fbedd274da1c91ca60a538389c124ef57c76230cbac8ac294a05816578951559810a69acd973e1ef6fd150060369b39f7fcd31fba6084bb37b7a06250cfcce64d7cd127d41b440c5a3cf3061196fd9abf27a44c6ca019cc0b2c39069363e0c7ebac022e18e1e9c35bd8bd3d81f780f7409ad65b52ed270d9b0269928dcb7e0a78077802e6008cf37a9bc1c55fc12d965b10005824978c800820ba685a6966805a66cd00cb9f19eb960690a82308e078675903699a25f552b72af5e42509cd48d408e932a125026d227c71aff206c5a2ba58781589a2352b240579255401e62c3243247f27f8f0a54a80c0cb071733ed0a922001338224c6e351c363b7462060973a0d481e8641993c8e7d6b4cb82e02cd374f53a98ddb09d862328aa256c7e974dac9af4b7c0dcf3efee66560665435a66771e718ec7d260002e0a53440127a1623081cc6936b83d608aa5bd037b9730ee1f664507c819a08fb682014811f353fb1761c1c1cac9ed87bffabe79e93aad6d95f4e4ed6a70132dff724e91c33dad9f9ef7c808e1a289293c4f8fa30c1ad42670decefbf2d091c1e1ef64ed4aa81c7ef8ed6bae75dd05903d5b25f152e20c02502f379fbc13204bdcf029288a2a877555a35f068fa73698f548d224aef85692a9ccf3de338bd120d84cd5f71717c92441876ffd30d454d03d5e457a8bb1a421a717a7a0e3383196166606eb3316b73ab7cbc78dcd80e061220f1243a2a2f10260a6dde74aa379eea8da931676abd09386462d81886d56d8d709bbe1d6fbc02ff0020bb76e2deb639600000000049454e44ae426082 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000044e49444154388d8d95bf8b1d5514c73fbb19c21978d13bf0023371951d48304f8cf05288bb18308b015db048193b7f349a329d8204217f828d9a4ad0428c45201681a408bcd78811121cc1c05dc8c2bdb00fe660c69d535c88c5ec6e126c9ce672b8cce17b3ee73bf35d9acd66ec3f9f7ff9fe638b866280008643fe575dae38ae7cf6fdd27eafa5d96cc6b73f5c7c3cbfedf9f0834be42238a9500b488216a3a0a0a5a5409ed4a905c0cc08db9ec67b626c583b53f1f185ab4b19c0fc8ee7d2279fe3aa1a7ba48485a71081116c4c27181e80a01e7c4e58042455a8298200501fad2119f33b818f2fc0d2d977cac79be72e52d735b66334b161b252524f6bea15a14d5b90c2300146d0802e8ce69ed06ed75832cc0ceb0ceb7bda45445c4f66117211ec91e1a3677a7cc2e6bb53148f5fdc801469cd938bd026a118e59029d37143dcf2f8f93a410d27427cd453640e1f039926c34945889ec9f19af57335d1e6fc16af42f2f8bf1c39397d6a29b21cad846a6ca841b9aaf4dca2bd791ad516b26127206464825aa05ea9d8383741d38cdfb6bfc2d4b87b7b421b6b2c2992392c296e24542703d3b5801ad42b869e0cf06b4d4ced1e7363996448028e1886e78ff83dba306e5d9f10b62bcc1410cc94f5378562b5a5f9b5627ea74632d004935301cbf65c920c80cc658201a75f2df1dd2d2c059a790d5d05282283d2cdf353266f0029700d4fb83fc1952df5094593519f54eeee0845e65060599321e4b478489118216c3dab74f3ed35d6df9a528843cd583b17319478bf460d9c808c5b4068d3f0de329960f4149283192e1b188938c0587f63cac6d9294e84be530463fe8bc3e1e813b88c81f5890101194f31065a0bc8c861293f503a3d5972f6fc041941d006231034d02e0ad4142c272e0427a0dd5ee3341ccbfb8c498225a17413c0a88f3b362e54146284ee2e9622da790a276c9c6fa95604b29eb21cac276998b0c8dc207c9fb1760dce0123a84b21a8a2ea310b80e21781ca419f846a5c307d2f600b1d186730bf97ff97714b4b1b05eb22c508eab516498e9fbe53426cb871bd65f6634df327e41458eaa91cc8381c3016dc338c33924182e69e21638f594fb90aa7cf7b663fbfc2b56f0ac8049232bb5ed1eeb44ccf4454c3e0633330877f20cf303e74e298bb5cbffc1aec1e21ee7a8e56916ed7188d8ca3f50e4e84fcb905d54b8923aee3c5ba232d3fdc6b0a2ecb504b8c8f195bf773b08c2e2d06c661db0f0bdc1e7e7d93e9f0b9ba91c1b4a1160e580e630f2e904c0e7cdc1f89ac4e617e73607de8d4ebe5e57ffe4e8c0e15e86e87c58a87db503d0f76d870874177194e03c9a033b09d31cdfd82175fe8081dd8c3310ffecc51ed198fb321413efa74f37139aec9c541b23da64679c228c62de529831e72c06f096d2c885e2009e52452adf434bf437808ba50ae7e7d634890b53315f33b0137320a1c2d43323477a1a06676530f7271ff1e0c92d1cf1d8d00a9473ba55e754f32efe9308ddb7aa0986c6fcbffa32e4bb8f2c5b58330fd17928e8483dcb3d65b0000000049454e44ae426082 btnClose clicked() QgsAttributeTableBase close() btnStartEditing clicked() QgsAttributeTableBase startEditing() btnStopEditing clicked() QgsAttributeTableBase stopEditing() mSelectedToTopButton clicked() QgsAttributeTableBase selectedToTop() mInvertSelectionButton clicked() QgsAttributeTableBase invertSelection() mAddAttributeButton clicked() QgsAttributeTableBase addAttribute() mDeleteAttributeButton clicked() QgsAttributeTableBase deleteAttributes() mRemoveSelectionButton clicked() QgsAttributeTableBase removeSelection() qgsattributetablebase.ui.h deleted() deleteAttributes() addAttribute() startEditing() stopEditing() invertSelection() selectedToTop() removeSelection() closeEvent( QCloseEvent * ev ) qgsattributetable.h